vercel 54.18.7 → 54.19.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.
- package/dist/chunks/add-WB6SXGXX.js +134 -0
- package/dist/chunks/chunk-4QVAYRYH.js +71 -0
- package/dist/chunks/chunk-AUECDTMX.js +128 -0
- package/dist/chunks/{chunk-JREEV2EL.js → chunk-FM24W7ET.js} +1 -1
- package/dist/chunks/chunk-I3HGCZ4E.js +72 -0
- package/dist/chunks/chunk-KXGWAWRV.js +148 -0
- package/dist/chunks/{chunk-XQQXV6ZZ.js → chunk-LFODAB54.js} +1 -0
- package/dist/chunks/chunk-RY3AVR6E.js +111 -0
- package/dist/chunks/{chunk-DXL7EPOQ.js → chunk-SQYJEUZD.js} +1 -1
- package/dist/chunks/chunk-VGIMO3ZK.js +17 -0
- package/dist/chunks/{chunk-AXFSALI3.js → chunk-WFXGLPSI.js} +5 -1
- package/dist/chunks/chunk-ZVDYGXRA.js +363 -0
- package/dist/chunks/{chunk-VTE7W5ZP.js → chunk-ZZIAWRCX.js} +0 -8
- package/dist/chunks/image-R4JG4NX4.js +73 -0
- package/dist/chunks/inspect-57BITHYZ.js +136 -0
- package/dist/chunks/inspect-RTJALSXC.js +167 -0
- package/dist/chunks/inspect-VXODLWNM.js +163 -0
- package/dist/chunks/ls-D7NWJACX.js +165 -0
- package/dist/chunks/ls-JPWOOVMW.js +214 -0
- package/dist/chunks/ls-ZDMXBOJF.js +201 -0
- package/dist/chunks/rm-OSIDD4VR.js +137 -0
- package/dist/chunks/rm-ZJQ5DOAW.js +137 -0
- package/dist/chunks/tags-HHNNZLC6.js +67 -0
- package/dist/commands/build/index.js +5 -1
- package/dist/commands/deploy/index.js +5 -2
- package/dist/commands/env/index.js +8 -3
- package/dist/commands/link/index.js +4 -1
- package/dist/commands-bulk.js +929 -695
- package/dist/help.js +1 -1
- package/dist/index.js +16 -3
- package/dist/version.mjs +1 -1
- package/package.json +13 -13
package/dist/commands-bulk.js
CHANGED
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
resolveOpenApiTagForTeamsCli,
|
|
66
66
|
setAutoUpdate,
|
|
67
67
|
tryOpenApiFallback
|
|
68
|
-
} from "./chunks/chunk-
|
|
68
|
+
} from "./chunks/chunk-SQYJEUZD.js";
|
|
69
69
|
import {
|
|
70
70
|
getUpdateCommand,
|
|
71
71
|
isGlobal
|
|
@@ -90,7 +90,7 @@ import {
|
|
|
90
90
|
require_format,
|
|
91
91
|
require_jsonlines,
|
|
92
92
|
setupDomain
|
|
93
|
-
} from "./chunks/chunk-
|
|
93
|
+
} from "./chunks/chunk-FM24W7ET.js";
|
|
94
94
|
import {
|
|
95
95
|
getGlobalPathConfig,
|
|
96
96
|
persistAuthConfig,
|
|
@@ -102,11 +102,13 @@ import "./chunks/chunk-V5P25P7F.js";
|
|
|
102
102
|
import {
|
|
103
103
|
ellipsis,
|
|
104
104
|
getCustomEnvironments,
|
|
105
|
-
getInvalidSubcommand,
|
|
106
105
|
pickCustomEnvironment,
|
|
107
106
|
readStandardInput,
|
|
108
107
|
require_dist as require_dist4
|
|
109
|
-
} from "./chunks/chunk-
|
|
108
|
+
} from "./chunks/chunk-ZZIAWRCX.js";
|
|
109
|
+
import {
|
|
110
|
+
getInvalidSubcommand
|
|
111
|
+
} from "./chunks/chunk-VGIMO3ZK.js";
|
|
110
112
|
import {
|
|
111
113
|
formatTable
|
|
112
114
|
} from "./chunks/chunk-ULKM3ZD4.js";
|
|
@@ -267,8 +269,8 @@ import {
|
|
|
267
269
|
listSubcommand14 as listSubcommand15,
|
|
268
270
|
listSubcommand15 as listSubcommand16,
|
|
269
271
|
listSubcommand16 as listSubcommand17,
|
|
270
|
-
listSubcommand17 as
|
|
271
|
-
listSubcommand18 as
|
|
272
|
+
listSubcommand17 as listSubcommand19,
|
|
273
|
+
listSubcommand18 as listSubcommand20,
|
|
272
274
|
listSubcommand3,
|
|
273
275
|
listSubcommand4,
|
|
274
276
|
listSubcommand5,
|
|
@@ -314,7 +316,7 @@ import {
|
|
|
314
316
|
removeSubcommand12,
|
|
315
317
|
removeSubcommand13,
|
|
316
318
|
removeSubcommand14,
|
|
317
|
-
removeSubcommand15,
|
|
319
|
+
removeSubcommand15 as removeSubcommand16,
|
|
318
320
|
removeSubcommand2,
|
|
319
321
|
removeSubcommand3,
|
|
320
322
|
removeSubcommand4,
|
|
@@ -397,7 +399,25 @@ import {
|
|
|
397
399
|
webAnalyticsSubcommand,
|
|
398
400
|
webhooksCommand,
|
|
399
401
|
whoamiCommand
|
|
400
|
-
} from "./chunks/chunk-
|
|
402
|
+
} from "./chunks/chunk-WFXGLPSI.js";
|
|
403
|
+
import {
|
|
404
|
+
addSubcommand as addSubcommand12,
|
|
405
|
+
inspectSubcommand as inspectSubcommand6,
|
|
406
|
+
listSubcommand as listSubcommand18,
|
|
407
|
+
removeSubcommand as removeSubcommand15,
|
|
408
|
+
vcrCommand
|
|
409
|
+
} from "./chunks/chunk-KXGWAWRV.js";
|
|
410
|
+
import {
|
|
411
|
+
tagsAggregateCommand,
|
|
412
|
+
tagsInspectSubcommand,
|
|
413
|
+
tagsLsSubcommand
|
|
414
|
+
} from "./chunks/chunk-RY3AVR6E.js";
|
|
415
|
+
import {
|
|
416
|
+
imageAggregateCommand,
|
|
417
|
+
imageInspectSubcommand,
|
|
418
|
+
imageLsSubcommand,
|
|
419
|
+
imageRmSubcommand
|
|
420
|
+
} from "./chunks/chunk-AUECDTMX.js";
|
|
401
421
|
import {
|
|
402
422
|
metricsCommand,
|
|
403
423
|
schemaSubcommand
|
|
@@ -3472,7 +3492,7 @@ async function list4(client, argv, auth) {
|
|
|
3472
3492
|
store: client.telemetryEventStore
|
|
3473
3493
|
}
|
|
3474
3494
|
});
|
|
3475
|
-
const flagsSpecification = getFlagsSpecification(
|
|
3495
|
+
const flagsSpecification = getFlagsSpecification(listSubcommand19.options);
|
|
3476
3496
|
let parsedArgs;
|
|
3477
3497
|
try {
|
|
3478
3498
|
parsedArgs = parseArguments(argv, flagsSpecification);
|
|
@@ -5662,7 +5682,7 @@ async function signedToken(client, argv, auth) {
|
|
|
5662
5682
|
|
|
5663
5683
|
// src/commands/blob/index.ts
|
|
5664
5684
|
var COMMAND_CONFIG7 = {
|
|
5665
|
-
list: getCommandAliases(
|
|
5685
|
+
list: getCommandAliases(listSubcommand19),
|
|
5666
5686
|
put: getCommandAliases(putSubcommand),
|
|
5667
5687
|
get: getCommandAliases(getSubcommand3),
|
|
5668
5688
|
del: getCommandAliases(delSubcommand),
|
|
@@ -5715,7 +5735,7 @@ async function main3(client) {
|
|
|
5715
5735
|
case "list":
|
|
5716
5736
|
if (needHelp) {
|
|
5717
5737
|
telemetry2.trackCliFlagHelp("blob", subcommandOriginal);
|
|
5718
|
-
printHelp(
|
|
5738
|
+
printHelp(listSubcommand19);
|
|
5719
5739
|
return 2;
|
|
5720
5740
|
}
|
|
5721
5741
|
telemetry2.trackCliSubcommandList(subcommandOriginal);
|
|
@@ -31856,7 +31876,7 @@ function handleSegmentInUseError(client, error, segmentArg) {
|
|
|
31856
31876
|
const firstSegment = segments2.find(
|
|
31857
31877
|
(reference) => reference.slug || reference.id
|
|
31858
31878
|
);
|
|
31859
|
-
const
|
|
31879
|
+
const inspectSubcommand7 = firstFlag !== void 0 ? `flags inspect ${firstFlag.slug ?? firstFlag.id}` : firstSegment !== void 0 ? `flags segments inspect ${firstSegment.slug ?? firstSegment.id}` : void 0;
|
|
31860
31880
|
const lines = [`Segment ${segment} is still in use and can't be deleted.`];
|
|
31861
31881
|
if (flags.length > 0) {
|
|
31862
31882
|
lines.push(`Used by feature flags: ${formatReferences(flags)}`);
|
|
@@ -31872,11 +31892,11 @@ function handleSegmentInUseError(client, error, segmentArg) {
|
|
|
31872
31892
|
reason: AGENT_REASON.SEGMENT_IN_USE,
|
|
31873
31893
|
message,
|
|
31874
31894
|
next: [
|
|
31875
|
-
...
|
|
31895
|
+
...inspectSubcommand7 ? [
|
|
31876
31896
|
{
|
|
31877
31897
|
command: buildCommandWithGlobalFlags(
|
|
31878
31898
|
client.argv,
|
|
31879
|
-
|
|
31899
|
+
inspectSubcommand7
|
|
31880
31900
|
),
|
|
31881
31901
|
when: "inspect one reference that still uses the segment"
|
|
31882
31902
|
}
|
|
@@ -31892,10 +31912,10 @@ function handleSegmentInUseError(client, error, segmentArg) {
|
|
|
31892
31912
|
},
|
|
31893
31913
|
1
|
|
31894
31914
|
);
|
|
31895
|
-
if (
|
|
31915
|
+
if (inspectSubcommand7) {
|
|
31896
31916
|
lines.push(
|
|
31897
31917
|
"",
|
|
31898
|
-
`Run ${getCommandName(
|
|
31918
|
+
`Run ${getCommandName(inspectSubcommand7)} to inspect one reference, remove the segment from each rule, then try deleting the segment again.`
|
|
31899
31919
|
);
|
|
31900
31920
|
} else {
|
|
31901
31921
|
lines.push(
|
|
@@ -33831,7 +33851,7 @@ function exitCode(state) {
|
|
|
33831
33851
|
}
|
|
33832
33852
|
|
|
33833
33853
|
// src/commands/integration/add-auto-provision.ts
|
|
33834
|
-
var
|
|
33854
|
+
var import_chalk139 = __toESM(require_source(), 1);
|
|
33835
33855
|
var import_error_utils11 = __toESM(require_dist(), 1);
|
|
33836
33856
|
var import_open12 = __toESM(require_open(), 1);
|
|
33837
33857
|
|
|
@@ -34032,6 +34052,7 @@ async function fetchInstallations(client, integration) {
|
|
|
34032
34052
|
var import_open10 = __toESM(require_open(), 1);
|
|
34033
34053
|
|
|
34034
34054
|
// src/util/integration/prompt-for-terms.ts
|
|
34055
|
+
var import_chalk136 = __toESM(require_source(), 1);
|
|
34035
34056
|
var MARKETPLACE_ADDENDUM_URL = "https://vercel.com/legal/integration-marketplace-end-users-addendum";
|
|
34036
34057
|
function getMarketplacePolicyLinks(integration) {
|
|
34037
34058
|
const links = {
|
|
@@ -34058,40 +34079,53 @@ async function promptForTermAcceptance(client, integration) {
|
|
|
34058
34079
|
);
|
|
34059
34080
|
return null;
|
|
34060
34081
|
}
|
|
34061
|
-
const
|
|
34062
|
-
|
|
34082
|
+
const documents = [
|
|
34083
|
+
{
|
|
34084
|
+
label: "Vercel Marketplace End User Addendum",
|
|
34085
|
+
url: MARKETPLACE_ADDENDUM_URL
|
|
34086
|
+
}
|
|
34087
|
+
];
|
|
34088
|
+
if (integration.privacyDocUri) {
|
|
34089
|
+
documents.push({
|
|
34090
|
+
label: "Privacy Policy",
|
|
34091
|
+
url: integration.privacyDocUri
|
|
34092
|
+
});
|
|
34093
|
+
}
|
|
34094
|
+
if (integration.eulaDocUri) {
|
|
34095
|
+
documents.push({
|
|
34096
|
+
label: "Terms of Service",
|
|
34097
|
+
url: integration.eulaDocUri
|
|
34098
|
+
});
|
|
34099
|
+
}
|
|
34100
|
+
output_manager_default.print("\n");
|
|
34101
|
+
output_manager_default.log(
|
|
34102
|
+
`Installing ${import_chalk136.default.bold(integration.name)} requires accepting the following:`
|
|
34103
|
+
);
|
|
34104
|
+
output_manager_default.print("\n");
|
|
34105
|
+
for (const { label, url } of documents) {
|
|
34106
|
+
output_manager_default.print(` ${import_chalk136.default.bold(label)}
|
|
34107
|
+
`);
|
|
34108
|
+
output_manager_default.print(` ${import_chalk136.default.dim(url)}
|
|
34109
|
+
`);
|
|
34110
|
+
output_manager_default.print("\n");
|
|
34111
|
+
}
|
|
34112
|
+
const accepted = await client.input.confirm(
|
|
34113
|
+
"Accept all of the documents listed above?",
|
|
34063
34114
|
false
|
|
34064
34115
|
);
|
|
34065
|
-
if (!
|
|
34066
|
-
output_manager_default.error(
|
|
34067
|
-
"Vercel Marketplace End User Addendum must be accepted to continue."
|
|
34068
|
-
);
|
|
34116
|
+
if (!accepted) {
|
|
34117
|
+
output_manager_default.error("All of the listed documents must be accepted to continue.");
|
|
34069
34118
|
return null;
|
|
34070
34119
|
}
|
|
34120
|
+
const acceptedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
34071
34121
|
const acceptedPolicies = {
|
|
34072
|
-
toc:
|
|
34122
|
+
toc: acceptedAt
|
|
34073
34123
|
};
|
|
34074
34124
|
if (integration.privacyDocUri) {
|
|
34075
|
-
|
|
34076
|
-
`Accept privacy policy? (${integration.privacyDocUri})`,
|
|
34077
|
-
false
|
|
34078
|
-
);
|
|
34079
|
-
if (!accepted) {
|
|
34080
|
-
output_manager_default.error("Privacy policy must be accepted to continue.");
|
|
34081
|
-
return null;
|
|
34082
|
-
}
|
|
34083
|
-
acceptedPolicies.privacy = (/* @__PURE__ */ new Date()).toISOString();
|
|
34125
|
+
acceptedPolicies.privacy = acceptedAt;
|
|
34084
34126
|
}
|
|
34085
34127
|
if (integration.eulaDocUri) {
|
|
34086
|
-
|
|
34087
|
-
`Accept terms of service? (${integration.eulaDocUri})`,
|
|
34088
|
-
false
|
|
34089
|
-
);
|
|
34090
|
-
if (!accepted) {
|
|
34091
|
-
output_manager_default.error("Terms of service must be accepted to continue.");
|
|
34092
|
-
return null;
|
|
34093
|
-
}
|
|
34094
|
-
acceptedPolicies.eula = (/* @__PURE__ */ new Date()).toISOString();
|
|
34128
|
+
acceptedPolicies.eula = acceptedAt;
|
|
34095
34129
|
}
|
|
34096
34130
|
return acceptedPolicies;
|
|
34097
34131
|
}
|
|
@@ -34193,7 +34227,7 @@ async function selectProduct(client, products, productSlug) {
|
|
|
34193
34227
|
}
|
|
34194
34228
|
|
|
34195
34229
|
// src/commands/integration-resource/claim.ts
|
|
34196
|
-
var
|
|
34230
|
+
var import_chalk137 = __toESM(require_source(), 1);
|
|
34197
34231
|
var import_open11 = __toESM(require_open(), 1);
|
|
34198
34232
|
|
|
34199
34233
|
// src/util/integration-resource/get-resources.ts
|
|
@@ -34460,7 +34494,7 @@ async function claim(client, argv) {
|
|
|
34460
34494
|
} else {
|
|
34461
34495
|
const productLabel = only.product?.name ? ` (${only.product.name} sandbox)` : "";
|
|
34462
34496
|
const confirmed = await client.input.confirm(
|
|
34463
|
-
`Claim ${
|
|
34497
|
+
`Claim ${import_chalk137.default.bold(only.name)}${productLabel}?`,
|
|
34464
34498
|
true
|
|
34465
34499
|
);
|
|
34466
34500
|
if (!confirmed) {
|
|
@@ -34548,7 +34582,7 @@ async function runClaimForResource(client, targetResource, options = {}) {
|
|
|
34548
34582
|
`);
|
|
34549
34583
|
} else {
|
|
34550
34584
|
output_manager_default.log(
|
|
34551
|
-
`Visit this URL to claim ${
|
|
34585
|
+
`Visit this URL to claim ${import_chalk137.default.bold(targetResource.name)}: ${claimUrl}`
|
|
34552
34586
|
);
|
|
34553
34587
|
output_manager_default.log(
|
|
34554
34588
|
`Re-run \`${packageName} integration list\` after claiming to verify.`
|
|
@@ -34567,7 +34601,7 @@ async function runClaimForResource(client, targetResource, options = {}) {
|
|
|
34567
34601
|
`);
|
|
34568
34602
|
} else {
|
|
34569
34603
|
output_manager_default.log(
|
|
34570
|
-
`Visit this URL to claim ${
|
|
34604
|
+
`Visit this URL to claim ${import_chalk137.default.bold(targetResource.name)}: ${claimUrl}`
|
|
34571
34605
|
);
|
|
34572
34606
|
output_manager_default.log(
|
|
34573
34607
|
`Re-run \`${packageName} integration list\` after claiming to verify.`
|
|
@@ -34575,7 +34609,7 @@ async function runClaimForResource(client, targetResource, options = {}) {
|
|
|
34575
34609
|
}
|
|
34576
34610
|
return suppressActionRequired ? 0 : 1;
|
|
34577
34611
|
}
|
|
34578
|
-
output_manager_default.log(`Opening browser to claim ${
|
|
34612
|
+
output_manager_default.log(`Opening browser to claim ${import_chalk137.default.bold(targetResource.name)}\u2026`);
|
|
34579
34613
|
output_manager_default.log(`Visit this URL if the browser does not open: ${claimUrl}`);
|
|
34580
34614
|
try {
|
|
34581
34615
|
await (0, import_open11.default)(claimUrl);
|
|
@@ -34609,7 +34643,7 @@ async function runClaimForResource(client, targetResource, options = {}) {
|
|
|
34609
34643
|
`);
|
|
34610
34644
|
return 0;
|
|
34611
34645
|
}
|
|
34612
|
-
output_manager_default.success(`Claimed ${
|
|
34646
|
+
output_manager_default.success(`Claimed ${import_chalk137.default.bold(claimed.name)}.`);
|
|
34613
34647
|
return 0;
|
|
34614
34648
|
}
|
|
34615
34649
|
|
|
@@ -34958,7 +34992,7 @@ var IntegrationAddTelemetryClient = class extends TelemetryClient {
|
|
|
34958
34992
|
};
|
|
34959
34993
|
|
|
34960
34994
|
// src/util/integration/format-schema-help.ts
|
|
34961
|
-
var
|
|
34995
|
+
var import_chalk138 = __toESM(require_source(), 1);
|
|
34962
34996
|
function isHiddenOnCreate(prop) {
|
|
34963
34997
|
return prop["ui:hidden"] === true || prop["ui:hidden"] === "create";
|
|
34964
34998
|
}
|
|
@@ -35029,7 +35063,7 @@ function formatMetadataSchemaHelp(schema, integrationName, productSlug) {
|
|
|
35029
35063
|
const lines = [];
|
|
35030
35064
|
lines.push("");
|
|
35031
35065
|
const header = productSlug ? ` Metadata options for "${integrationName}/${productSlug}":` : ` Metadata options for "${integrationName}":`;
|
|
35032
|
-
lines.push(
|
|
35066
|
+
lines.push(import_chalk138.default.bold(header));
|
|
35033
35067
|
lines.push("");
|
|
35034
35068
|
const required = new Set(schema.required ?? []);
|
|
35035
35069
|
const entries = Object.entries(schema.properties);
|
|
@@ -35042,9 +35076,9 @@ function formatMetadataSchemaHelp(schema, integrationName, productSlug) {
|
|
|
35042
35076
|
continue;
|
|
35043
35077
|
}
|
|
35044
35078
|
const isRequired = required.has(key);
|
|
35045
|
-
const requiredSuffix = isRequired && !isServerHandledRegion(prop) ?
|
|
35046
|
-
const typeHint = prop.type === "boolean" ?
|
|
35047
|
-
lines.push(` ${
|
|
35079
|
+
const requiredSuffix = isRequired && !isServerHandledRegion(prop) ? import_chalk138.default.red(" (required)") : "";
|
|
35080
|
+
const typeHint = prop.type === "boolean" ? import_chalk138.default.dim(" (true/false)") : prop.type === "array" ? import_chalk138.default.dim(" (comma-separated)") : "";
|
|
35081
|
+
lines.push(` ${import_chalk138.default.cyan(key)}${requiredSuffix}${typeHint}`);
|
|
35048
35082
|
if (prop.description) {
|
|
35049
35083
|
lines.push(` ${prop.description}`);
|
|
35050
35084
|
}
|
|
@@ -35065,7 +35099,7 @@ function formatMetadataSchemaHelp(schema, integrationName, productSlug) {
|
|
|
35065
35099
|
}
|
|
35066
35100
|
const example = generateExample(key, prop);
|
|
35067
35101
|
if (example) {
|
|
35068
|
-
lines.push(` Example: ${
|
|
35102
|
+
lines.push(` Example: ${import_chalk138.default.dim(example)}`);
|
|
35069
35103
|
}
|
|
35070
35104
|
lines.push("");
|
|
35071
35105
|
}
|
|
@@ -35322,7 +35356,7 @@ Example: vercel ${commandName} ${integration.slug}/${integration.products[0].slu
|
|
|
35322
35356
|
baseProps
|
|
35323
35357
|
);
|
|
35324
35358
|
output_manager_default.log(
|
|
35325
|
-
`Installing ${
|
|
35359
|
+
`Installing ${import_chalk139.default.bold(product.name)} by ${import_chalk139.default.bold(integration.name)} under ${import_chalk139.default.bold(contextName)}`
|
|
35326
35360
|
);
|
|
35327
35361
|
output_manager_default.debug(`Selected product: ${product.slug} (id: ${product.id})`);
|
|
35328
35362
|
output_manager_default.debug(
|
|
@@ -35590,7 +35624,7 @@ Re-run with --installation-id to select one, e.g.:
|
|
|
35590
35624
|
`Billing plan: ${JSON.stringify(provisioned.billingPlan, null, 2)}`
|
|
35591
35625
|
);
|
|
35592
35626
|
output_manager_default.success(
|
|
35593
|
-
`${product.name} successfully provisioned: ${
|
|
35627
|
+
`${product.name} successfully provisioned: ${import_chalk139.default.bold(resourceName)}`
|
|
35594
35628
|
);
|
|
35595
35629
|
const isSandbox = provisioned.resource.ownership === "sandbox";
|
|
35596
35630
|
if (isSandbox && !options.noClaim) {
|
|
@@ -35601,7 +35635,7 @@ Re-run with --installation-id to select one, e.g.:
|
|
|
35601
35635
|
let runClaim = !!options.claim;
|
|
35602
35636
|
if (!runClaim && client.stdin.isTTY) {
|
|
35603
35637
|
runClaim = await client.input.confirm(
|
|
35604
|
-
`${
|
|
35638
|
+
`${import_chalk139.default.bold(resourceName)} is a sandbox resource. Claim it now?`,
|
|
35605
35639
|
true
|
|
35606
35640
|
);
|
|
35607
35641
|
}
|
|
@@ -35628,20 +35662,20 @@ Re-run with --installation-id to select one, e.g.:
|
|
|
35628
35662
|
}
|
|
35629
35663
|
} else {
|
|
35630
35664
|
output_manager_default.log(
|
|
35631
|
-
`Sandbox resource \u2014 claim it with: ${
|
|
35665
|
+
`Sandbox resource \u2014 claim it with: ${import_chalk139.default.cyan(`vercel integration resource claim ${resourceName}`)}`
|
|
35632
35666
|
);
|
|
35633
35667
|
}
|
|
35634
35668
|
} else if (isSandbox && options.noClaim) {
|
|
35635
35669
|
telemetry2.trackCliFlagNoClaim(options.noClaim);
|
|
35636
35670
|
output_manager_default.log(
|
|
35637
|
-
`Sandbox resource \u2014 claim it later with: ${
|
|
35671
|
+
`Sandbox resource \u2014 claim it later with: ${import_chalk139.default.cyan(`vercel integration resource claim ${resourceName}`)}`
|
|
35638
35672
|
);
|
|
35639
35673
|
}
|
|
35640
35674
|
const guideSlug = integration.products.length > 1 ? `${integration.slug}/${product.slug}` : integration.slug;
|
|
35641
35675
|
const guideCommand = `vercel integration guide ${guideSlug}`;
|
|
35642
35676
|
output_manager_default.log(
|
|
35643
35677
|
indent_default(
|
|
35644
|
-
`Guide: Run ${
|
|
35678
|
+
`Guide: Run ${import_chalk139.default.cyan(`\`${guideCommand}\``)} for getting started guides and code snippets`,
|
|
35645
35679
|
4
|
|
35646
35680
|
)
|
|
35647
35681
|
);
|
|
@@ -35838,31 +35872,31 @@ async function add8(client, args, flags, commandName) {
|
|
|
35838
35872
|
}
|
|
35839
35873
|
|
|
35840
35874
|
// src/util/integration/format-product-help.ts
|
|
35841
|
-
var
|
|
35875
|
+
var import_chalk140 = __toESM(require_source(), 1);
|
|
35842
35876
|
function formatProductHelp(integrationSlug, products, commandName = "integration add") {
|
|
35843
35877
|
const lines = [];
|
|
35844
35878
|
lines.push("");
|
|
35845
35879
|
lines.push(
|
|
35846
|
-
` ${
|
|
35880
|
+
` ${import_chalk140.default.dim("Available products for")} "${import_chalk140.default.bold(integrationSlug)}"${import_chalk140.default.dim(":")}`
|
|
35847
35881
|
);
|
|
35848
35882
|
lines.push("");
|
|
35849
35883
|
const maxSlugLen = Math.max(...products.map((p) => p.slug.length));
|
|
35850
35884
|
for (const product of products) {
|
|
35851
35885
|
const paddedSlug = product.slug.padEnd(maxSlugLen);
|
|
35852
|
-
lines.push(` ${
|
|
35886
|
+
lines.push(` ${import_chalk140.default.cyan(paddedSlug)} ${product.name}`);
|
|
35853
35887
|
}
|
|
35854
35888
|
lines.push("");
|
|
35855
|
-
lines.push(` ${
|
|
35889
|
+
lines.push(` ${import_chalk140.default.dim("Usage:")}`);
|
|
35856
35890
|
lines.push("");
|
|
35857
35891
|
lines.push(
|
|
35858
|
-
` ${
|
|
35892
|
+
` ${import_chalk140.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug}/<product-slug>`)}`
|
|
35859
35893
|
);
|
|
35860
35894
|
lines.push("");
|
|
35861
35895
|
return lines.join("\n");
|
|
35862
35896
|
}
|
|
35863
35897
|
|
|
35864
35898
|
// src/util/integration/format-billing-plans-help.ts
|
|
35865
|
-
var
|
|
35899
|
+
var import_chalk141 = __toESM(require_source(), 1);
|
|
35866
35900
|
function formatBillingPlansHelp(productName, plans) {
|
|
35867
35901
|
const enabledPlans = plans.filter((p) => !p.disabled);
|
|
35868
35902
|
if (enabledPlans.length === 0) {
|
|
@@ -35871,49 +35905,49 @@ function formatBillingPlansHelp(productName, plans) {
|
|
|
35871
35905
|
const lines = [];
|
|
35872
35906
|
lines.push("");
|
|
35873
35907
|
lines.push(
|
|
35874
|
-
` ${
|
|
35908
|
+
` ${import_chalk141.default.dim("Available billing plans for")} "${import_chalk141.default.bold(productName)}"${import_chalk141.default.dim(":")}`
|
|
35875
35909
|
);
|
|
35876
35910
|
lines.push("");
|
|
35877
35911
|
const maxIdLen = Math.max(...enabledPlans.map((p) => p.id.length));
|
|
35878
35912
|
for (const plan of enabledPlans) {
|
|
35879
35913
|
const paddedId = plan.id.padEnd(maxIdLen);
|
|
35880
|
-
const cost = plan.cost ?
|
|
35881
|
-
lines.push(` ${
|
|
35914
|
+
const cost = plan.cost ? import_chalk141.default.dim(` (${plan.cost})`) : "";
|
|
35915
|
+
lines.push(` ${import_chalk141.default.cyan(paddedId)} ${plan.name}${cost}`);
|
|
35882
35916
|
}
|
|
35883
35917
|
lines.push("");
|
|
35884
|
-
lines.push(` ${
|
|
35918
|
+
lines.push(` ${import_chalk141.default.dim("Usage:")}`);
|
|
35885
35919
|
lines.push("");
|
|
35886
|
-
lines.push(` ${
|
|
35920
|
+
lines.push(` ${import_chalk141.default.cyan(`--plan ${enabledPlans[0].id}`)}`);
|
|
35887
35921
|
lines.push("");
|
|
35888
35922
|
return lines.join("\n");
|
|
35889
35923
|
}
|
|
35890
35924
|
|
|
35891
35925
|
// src/util/integration/format-dynamic-examples.ts
|
|
35892
|
-
var
|
|
35926
|
+
var import_chalk142 = __toESM(require_source(), 1);
|
|
35893
35927
|
function formatDynamicExamples(integrationSlug, products, commandName = "integration add") {
|
|
35894
35928
|
const lines = [];
|
|
35895
35929
|
lines.push("");
|
|
35896
|
-
lines.push(` ${
|
|
35930
|
+
lines.push(` ${import_chalk142.default.dim("Examples:")}`);
|
|
35897
35931
|
lines.push("");
|
|
35898
|
-
lines.push(` ${
|
|
35932
|
+
lines.push(` ${import_chalk142.default.dim("-")} Install ${integrationSlug}`);
|
|
35899
35933
|
lines.push("");
|
|
35900
35934
|
lines.push(
|
|
35901
|
-
` ${
|
|
35935
|
+
` ${import_chalk142.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug}`)}`
|
|
35902
35936
|
);
|
|
35903
35937
|
if (products.length > 1) {
|
|
35904
35938
|
const firstProduct = products[0];
|
|
35905
35939
|
lines.push("");
|
|
35906
|
-
lines.push(` ${
|
|
35940
|
+
lines.push(` ${import_chalk142.default.dim("-")} Install a specific product`);
|
|
35907
35941
|
lines.push("");
|
|
35908
35942
|
lines.push(
|
|
35909
|
-
` ${
|
|
35943
|
+
` ${import_chalk142.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug}/${firstProduct.slug}`)}`
|
|
35910
35944
|
);
|
|
35911
35945
|
}
|
|
35912
35946
|
lines.push("");
|
|
35913
|
-
lines.push(` ${
|
|
35947
|
+
lines.push(` ${import_chalk142.default.dim("-")} Install with a custom resource name`);
|
|
35914
35948
|
lines.push("");
|
|
35915
35949
|
lines.push(
|
|
35916
|
-
` ${
|
|
35950
|
+
` ${import_chalk142.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug} --name my-resource`)}`
|
|
35917
35951
|
);
|
|
35918
35952
|
const metadataExample = buildMetadataExample(
|
|
35919
35953
|
integrationSlug,
|
|
@@ -35922,73 +35956,73 @@ function formatDynamicExamples(integrationSlug, products, commandName = "integra
|
|
|
35922
35956
|
);
|
|
35923
35957
|
if (metadataExample) {
|
|
35924
35958
|
lines.push("");
|
|
35925
|
-
lines.push(` ${
|
|
35959
|
+
lines.push(` ${import_chalk142.default.dim("-")} Install with metadata`);
|
|
35926
35960
|
lines.push("");
|
|
35927
|
-
lines.push(` ${
|
|
35961
|
+
lines.push(` ${import_chalk142.default.cyan(`$ ${metadataExample}`)}`);
|
|
35928
35962
|
}
|
|
35929
35963
|
lines.push("");
|
|
35930
|
-
lines.push(` ${
|
|
35964
|
+
lines.push(` ${import_chalk142.default.dim("-")} Install with a specific billing plan`);
|
|
35931
35965
|
lines.push("");
|
|
35932
35966
|
lines.push(
|
|
35933
|
-
` ${
|
|
35967
|
+
` ${import_chalk142.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug} --plan pro`)}`
|
|
35934
35968
|
);
|
|
35935
35969
|
lines.push("");
|
|
35936
35970
|
lines.push(
|
|
35937
|
-
` ${
|
|
35971
|
+
` ${import_chalk142.default.dim("-")} Install and connect to specific environments only`
|
|
35938
35972
|
);
|
|
35939
35973
|
lines.push("");
|
|
35940
35974
|
lines.push(
|
|
35941
|
-
` ${
|
|
35975
|
+
` ${import_chalk142.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug} -e production -e preview`)}`
|
|
35942
35976
|
);
|
|
35943
35977
|
lines.push("");
|
|
35944
35978
|
lines.push(
|
|
35945
|
-
` ${
|
|
35979
|
+
` ${import_chalk142.default.dim("-")} Install without connecting to the current project`
|
|
35946
35980
|
);
|
|
35947
35981
|
lines.push("");
|
|
35948
35982
|
lines.push(
|
|
35949
|
-
` ${
|
|
35983
|
+
` ${import_chalk142.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug} --no-connect`)}`
|
|
35950
35984
|
);
|
|
35951
35985
|
lines.push("");
|
|
35952
35986
|
lines.push(
|
|
35953
|
-
` ${
|
|
35987
|
+
` ${import_chalk142.default.dim("-")} Install without pulling environment variables`
|
|
35954
35988
|
);
|
|
35955
35989
|
lines.push("");
|
|
35956
35990
|
lines.push(
|
|
35957
|
-
` ${
|
|
35991
|
+
` ${import_chalk142.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug} --no-env-pull`)}`
|
|
35958
35992
|
);
|
|
35959
35993
|
lines.push("");
|
|
35960
35994
|
lines.push(
|
|
35961
|
-
` ${
|
|
35995
|
+
` ${import_chalk142.default.dim("-")} Install with a prefix for environment variable names`
|
|
35962
35996
|
);
|
|
35963
35997
|
lines.push("");
|
|
35964
35998
|
lines.push(
|
|
35965
|
-
` ${
|
|
35999
|
+
` ${import_chalk142.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug} --prefix NEON2_`)}`
|
|
35966
36000
|
);
|
|
35967
36001
|
lines.push("");
|
|
35968
|
-
lines.push(` ${
|
|
36002
|
+
lines.push(` ${import_chalk142.default.dim("-")} Output as JSON`);
|
|
35969
36003
|
lines.push("");
|
|
35970
36004
|
lines.push(
|
|
35971
|
-
` ${
|
|
36005
|
+
` ${import_chalk142.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug} --format=json`)}`
|
|
35972
36006
|
);
|
|
35973
36007
|
lines.push("");
|
|
35974
|
-
lines.push(` ${
|
|
36008
|
+
lines.push(` ${import_chalk142.default.dim("-")} Install using a specific installation`);
|
|
35975
36009
|
lines.push("");
|
|
35976
36010
|
lines.push(
|
|
35977
|
-
` ${
|
|
36011
|
+
` ${import_chalk142.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug} --installation-id <id>`)}`
|
|
35978
36012
|
);
|
|
35979
36013
|
lines.push("");
|
|
35980
36014
|
lines.push(
|
|
35981
|
-
` ${
|
|
36015
|
+
` ${import_chalk142.default.dim("-")} Claim a sandbox resource immediately after provisioning`
|
|
35982
36016
|
);
|
|
35983
36017
|
lines.push("");
|
|
35984
36018
|
lines.push(
|
|
35985
|
-
` ${
|
|
36019
|
+
` ${import_chalk142.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug} --claim`)}`
|
|
35986
36020
|
);
|
|
35987
36021
|
lines.push("");
|
|
35988
|
-
lines.push(` ${
|
|
36022
|
+
lines.push(` ${import_chalk142.default.dim("-")} Skip the offer to claim a sandbox resource`);
|
|
35989
36023
|
lines.push("");
|
|
35990
36024
|
lines.push(
|
|
35991
|
-
` ${
|
|
36025
|
+
` ${import_chalk142.default.cyan(`$ ${packageName} ${commandName} ${integrationSlug} --no-claim`)}`
|
|
35992
36026
|
);
|
|
35993
36027
|
lines.push("");
|
|
35994
36028
|
return lines.join("\n");
|
|
@@ -36207,7 +36241,7 @@ var IntegrationTelemetryClient = class extends TelemetryClient {
|
|
|
36207
36241
|
};
|
|
36208
36242
|
|
|
36209
36243
|
// src/commands/integration/balance.ts
|
|
36210
|
-
var
|
|
36244
|
+
var import_chalk143 = __toESM(require_source(), 1);
|
|
36211
36245
|
|
|
36212
36246
|
// src/util/integration/fetch-installation-prepayment-info.ts
|
|
36213
36247
|
async function fetchInstallationPrepaymentInfo(client, installationId) {
|
|
@@ -36433,7 +36467,7 @@ function outputBalanceInformation(prepaymentInfo, resources, integrationSlug) {
|
|
|
36433
36467
|
}
|
|
36434
36468
|
}
|
|
36435
36469
|
output_manager_default.log(
|
|
36436
|
-
`${
|
|
36470
|
+
`${import_chalk143.default.bold(`Balances and thresholds for ${integrationSlug}`)}:`
|
|
36437
36471
|
);
|
|
36438
36472
|
for (const key in mappings) {
|
|
36439
36473
|
const mapping = mappings[key];
|
|
@@ -36495,7 +36529,7 @@ var IntegrationResourceTelemetryClient = class extends TelemetryClient {
|
|
|
36495
36529
|
};
|
|
36496
36530
|
|
|
36497
36531
|
// src/commands/integration-resource/connect.ts
|
|
36498
|
-
var
|
|
36532
|
+
var import_chalk144 = __toESM(require_source(), 1);
|
|
36499
36533
|
|
|
36500
36534
|
// src/util/telemetry/commands/integration-resource/connect.ts
|
|
36501
36535
|
var IntegrationResourceConnectTelemetryClient = class extends TelemetryClient {
|
|
@@ -36616,7 +36650,7 @@ async function connect2(client, argv) {
|
|
|
36616
36650
|
);
|
|
36617
36651
|
output_manager_default.stopSpinner();
|
|
36618
36652
|
if (!targetedResource) {
|
|
36619
|
-
output_manager_default.error(`No resource ${
|
|
36653
|
+
output_manager_default.error(`No resource ${import_chalk144.default.bold(resourceName)} found.`);
|
|
36620
36654
|
return 1;
|
|
36621
36655
|
}
|
|
36622
36656
|
let projectName = specifiedProject;
|
|
@@ -36639,7 +36673,7 @@ async function connect2(client, argv) {
|
|
|
36639
36673
|
);
|
|
36640
36674
|
if (alreadyConnected) {
|
|
36641
36675
|
output_manager_default.error(
|
|
36642
|
-
`Project ${
|
|
36676
|
+
`Project ${import_chalk144.default.bold(projectName)} is already connected to resource ${import_chalk144.default.bold(targetedResource.name)}.`
|
|
36643
36677
|
);
|
|
36644
36678
|
output_manager_default.log(
|
|
36645
36679
|
`To change environments or env var prefix, disconnect first: \`vercel integration resource disconnect ${targetedResource.name} ${projectName}\``
|
|
@@ -36650,7 +36684,7 @@ async function connect2(client, argv) {
|
|
|
36650
36684
|
const project = await getProjectByNameOrId(client, projectName);
|
|
36651
36685
|
output_manager_default.stopSpinner();
|
|
36652
36686
|
if (project instanceof ProjectNotFound) {
|
|
36653
|
-
output_manager_default.error(`No project ${
|
|
36687
|
+
output_manager_default.error(`No project ${import_chalk144.default.bold(projectName)} found.`);
|
|
36654
36688
|
return 1;
|
|
36655
36689
|
}
|
|
36656
36690
|
if (!skipConfirmation && client.nonInteractive) {
|
|
@@ -36677,10 +36711,10 @@ async function connect2(client, argv) {
|
|
|
36677
36711
|
}
|
|
36678
36712
|
if (!skipConfirmation) {
|
|
36679
36713
|
output_manager_default.log(
|
|
36680
|
-
`The resource ${
|
|
36714
|
+
`The resource ${import_chalk144.default.bold(targetedResource.name)} will be connected to project ${import_chalk144.default.bold(projectName)} (environments: ${environments.join(", ")}).`
|
|
36681
36715
|
);
|
|
36682
36716
|
const confirmed = await client.input.confirm(
|
|
36683
|
-
`${
|
|
36717
|
+
`${import_chalk144.default.cyan("Connect?")}`,
|
|
36684
36718
|
true
|
|
36685
36719
|
);
|
|
36686
36720
|
if (!confirmed) {
|
|
@@ -36707,7 +36741,7 @@ async function connect2(client, argv) {
|
|
|
36707
36741
|
const varName = conflict[1];
|
|
36708
36742
|
const envRmCmd = environments.length === 1 ? `vercel env rm ${varName} ${environments[0]}` : `vercel env rm ${varName}`;
|
|
36709
36743
|
output_manager_default.error(
|
|
36710
|
-
`Cannot connect: env var ${
|
|
36744
|
+
`Cannot connect: env var ${import_chalk144.default.bold(varName)} already exists on project ${import_chalk144.default.bold(projectName)} in one of the target environments (${environments.join(", ")}).`
|
|
36711
36745
|
);
|
|
36712
36746
|
if (prefix === void 0) {
|
|
36713
36747
|
output_manager_default.log(
|
|
@@ -36744,13 +36778,13 @@ async function connect2(client, argv) {
|
|
|
36744
36778
|
return 0;
|
|
36745
36779
|
}
|
|
36746
36780
|
output_manager_default.success(
|
|
36747
|
-
`Connected ${
|
|
36781
|
+
`Connected ${import_chalk144.default.bold(targetedResource.name)} to ${import_chalk144.default.bold(projectName)} (${environments.join(", ")})`
|
|
36748
36782
|
);
|
|
36749
36783
|
return 0;
|
|
36750
36784
|
}
|
|
36751
36785
|
|
|
36752
36786
|
// src/commands/integration-resource/create-threshold.ts
|
|
36753
|
-
var
|
|
36787
|
+
var import_chalk145 = __toESM(require_source(), 1);
|
|
36754
36788
|
|
|
36755
36789
|
// src/util/telemetry/commands/integration-resource/create-threshold.ts
|
|
36756
36790
|
var IntegrationResourceCreateThresholdTelemetryClient = class extends TelemetryClient {
|
|
@@ -36872,18 +36906,18 @@ async function createThreshold(client, argv) {
|
|
|
36872
36906
|
);
|
|
36873
36907
|
output_manager_default.stopSpinner();
|
|
36874
36908
|
if (!targetedResource) {
|
|
36875
|
-
output_manager_default.error(`The resource ${
|
|
36909
|
+
output_manager_default.error(`The resource ${import_chalk145.default.bold(resourceName)} was not found.`);
|
|
36876
36910
|
return 1;
|
|
36877
36911
|
}
|
|
36878
36912
|
if (!targetedResource.product?.integrationConfigurationId) {
|
|
36879
36913
|
output_manager_default.error(
|
|
36880
|
-
`The resource ${
|
|
36914
|
+
`The resource ${import_chalk145.default.bold(resourceName)} does not have an integration configuration.`
|
|
36881
36915
|
);
|
|
36882
36916
|
return 1;
|
|
36883
36917
|
}
|
|
36884
36918
|
if (targetedResource.billingPlan?.type !== "prepayment") {
|
|
36885
36919
|
output_manager_default.error(
|
|
36886
|
-
`The resource ${
|
|
36920
|
+
`The resource ${import_chalk145.default.bold(resourceName)} is not a prepayment-based resource.`
|
|
36887
36921
|
);
|
|
36888
36922
|
return 1;
|
|
36889
36923
|
}
|
|
@@ -36910,7 +36944,7 @@ async function createThreshold(client, argv) {
|
|
|
36910
36944
|
}
|
|
36911
36945
|
if (targetedResource.billingPlan.scope !== "resource") {
|
|
36912
36946
|
output_manager_default.log(
|
|
36913
|
-
`The resource ${
|
|
36947
|
+
`The resource ${import_chalk145.default.bold(resourceName)} uses an installation-level balance.`
|
|
36914
36948
|
);
|
|
36915
36949
|
return await updateThresholdForInstallation({
|
|
36916
36950
|
client,
|
|
@@ -37024,13 +37058,13 @@ async function updateThresholdForInstallation(props) {
|
|
|
37024
37058
|
async function handleUpdateThreshold(props) {
|
|
37025
37059
|
if (props.resource.billingPlan?.type !== "prepayment") {
|
|
37026
37060
|
output_manager_default.log(
|
|
37027
|
-
`The resource ${
|
|
37061
|
+
`The resource ${import_chalk145.default.bold(props.resource.name)} is not a prepayment-based resource.`
|
|
37028
37062
|
);
|
|
37029
37063
|
return 0;
|
|
37030
37064
|
}
|
|
37031
37065
|
if (!props.resource.product?.integrationConfigurationId) {
|
|
37032
37066
|
output_manager_default.log(
|
|
37033
|
-
`The resource ${
|
|
37067
|
+
`The resource ${import_chalk145.default.bold(props.resource.name)} does not have an integration configuration.`
|
|
37034
37068
|
);
|
|
37035
37069
|
return 0;
|
|
37036
37070
|
}
|
|
@@ -37040,7 +37074,7 @@ async function handleUpdateThreshold(props) {
|
|
|
37040
37074
|
);
|
|
37041
37075
|
return 1;
|
|
37042
37076
|
}
|
|
37043
|
-
const entityTextReference = props.isInstallationLevel ? `installation ${
|
|
37077
|
+
const entityTextReference = props.isInstallationLevel ? `installation ${import_chalk145.default.bold(props.resource.product?.name)}` : `resource ${import_chalk145.default.bold(props.resource.name)}`;
|
|
37044
37078
|
if (props.existingThreshold) {
|
|
37045
37079
|
const shouldOverwriteThreshold = props.skipConfirmWithYes || await props.client.input.confirm(
|
|
37046
37080
|
`The ${entityTextReference} already has a threshold. (minimum: $${props.existingThreshold.minimumAmountInCents / 100}, spend: $${props.existingThreshold.purchaseAmountInCents / 100}, limit: ${props.existingThreshold.maximumAmountPerPeriodInCents ? `$${props.existingThreshold.maximumAmountPerPeriodInCents / 100}` : "none set"}). Do you want to overwrite it?`,
|
|
@@ -37099,7 +37133,7 @@ async function handleUpdateThreshold(props) {
|
|
|
37099
37133
|
}
|
|
37100
37134
|
|
|
37101
37135
|
// src/commands/integration-resource/disconnect.ts
|
|
37102
|
-
var
|
|
37136
|
+
var import_chalk146 = __toESM(require_source(), 1);
|
|
37103
37137
|
|
|
37104
37138
|
// src/util/integration-resource/disconnect-resource-from-project.ts
|
|
37105
37139
|
async function disconnectResourceFromProject(client, resource, connection) {
|
|
@@ -37223,7 +37257,7 @@ async function disconnect2(client, argv) {
|
|
|
37223
37257
|
);
|
|
37224
37258
|
output_manager_default.stopSpinner();
|
|
37225
37259
|
if (!targetedResource) {
|
|
37226
|
-
output_manager_default.error(`No resource ${
|
|
37260
|
+
output_manager_default.error(`No resource ${import_chalk146.default.bold(resourceName)} found.`);
|
|
37227
37261
|
return 1;
|
|
37228
37262
|
}
|
|
37229
37263
|
if (parsedArguments.flags["--all"]) {
|
|
@@ -37282,7 +37316,7 @@ async function handleDisconnectProject(client, resource, projectName, skipConfir
|
|
|
37282
37316
|
);
|
|
37283
37317
|
if (!project) {
|
|
37284
37318
|
output_manager_default.error(
|
|
37285
|
-
`Project ${
|
|
37319
|
+
`Project ${import_chalk146.default.bold(projectName)} is not connected to resource ${import_chalk146.default.bold(resource.name)}.`
|
|
37286
37320
|
);
|
|
37287
37321
|
output_manager_default.log(
|
|
37288
37322
|
`Run \`vercel integration list\` to see which projects are connected to each resource.`
|
|
@@ -37333,13 +37367,13 @@ async function handleDisconnectProject(client, resource, projectName, skipConfir
|
|
|
37333
37367
|
return 0;
|
|
37334
37368
|
}
|
|
37335
37369
|
output_manager_default.success(
|
|
37336
|
-
`Disconnected ${
|
|
37370
|
+
`Disconnected ${import_chalk146.default.bold(project.name)} from ${import_chalk146.default.bold(resource.name)}`
|
|
37337
37371
|
);
|
|
37338
37372
|
return 0;
|
|
37339
37373
|
}
|
|
37340
37374
|
async function handleDisconnectAllProjects(client, resource, skipConfirmation, asJson = false) {
|
|
37341
37375
|
if (resource.projectsMetadata?.length === 0) {
|
|
37342
|
-
output_manager_default.log(`${
|
|
37376
|
+
output_manager_default.log(`${import_chalk146.default.bold(resource.name)} has no projects to disconnect.`);
|
|
37343
37377
|
return;
|
|
37344
37378
|
}
|
|
37345
37379
|
if (!skipConfirmation && client.nonInteractive) {
|
|
@@ -37372,7 +37406,7 @@ async function handleDisconnectAllProjects(client, resource, skipConfirmation, a
|
|
|
37372
37406
|
output_manager_default.stopSpinner();
|
|
37373
37407
|
} else {
|
|
37374
37408
|
output_manager_default.success(
|
|
37375
|
-
`Disconnected all projects from ${
|
|
37409
|
+
`Disconnected all projects from ${import_chalk146.default.bold(resource.name)}`
|
|
37376
37410
|
);
|
|
37377
37411
|
}
|
|
37378
37412
|
} catch (error) {
|
|
@@ -37384,9 +37418,9 @@ async function handleDisconnectAllProjects(client, resource, skipConfirmation, a
|
|
|
37384
37418
|
}
|
|
37385
37419
|
async function confirmDisconnectProject(client, resource, project) {
|
|
37386
37420
|
output_manager_default.log(
|
|
37387
|
-
`The resource ${
|
|
37421
|
+
`The resource ${import_chalk146.default.bold(resource.name)} will be disconnected from project ${import_chalk146.default.bold(project.name)}.`
|
|
37388
37422
|
);
|
|
37389
|
-
return client.input.confirm(`${
|
|
37423
|
+
return client.input.confirm(`${import_chalk146.default.red("Are you sure?")}`, false);
|
|
37390
37424
|
}
|
|
37391
37425
|
async function confirmDisconnectAllProjects(client, resource) {
|
|
37392
37426
|
output_manager_default.log("The following projects will be disconnected:");
|
|
@@ -37397,11 +37431,11 @@ async function confirmDisconnectAllProjects(client, resource) {
|
|
|
37397
37431
|
output_manager_default.print(` ${project.name}
|
|
37398
37432
|
`);
|
|
37399
37433
|
}
|
|
37400
|
-
return client.input.confirm(
|
|
37434
|
+
return client.input.confirm(import_chalk146.default.red("Are you sure?"), false);
|
|
37401
37435
|
}
|
|
37402
37436
|
|
|
37403
37437
|
// src/commands/integration-resource/remove-resource.ts
|
|
37404
|
-
var
|
|
37438
|
+
var import_chalk147 = __toESM(require_source(), 1);
|
|
37405
37439
|
|
|
37406
37440
|
// src/util/integration-resource/delete-resource.ts
|
|
37407
37441
|
async function deleteResource(client, resource) {
|
|
@@ -37536,7 +37570,7 @@ async function remove5(client, argv) {
|
|
|
37536
37570
|
);
|
|
37537
37571
|
output_manager_default.stopSpinner();
|
|
37538
37572
|
if (!targetedResource) {
|
|
37539
|
-
output_manager_default.error(`No resource ${
|
|
37573
|
+
output_manager_default.error(`No resource ${import_chalk147.default.bold(resourceName)} found.`);
|
|
37540
37574
|
return 1;
|
|
37541
37575
|
}
|
|
37542
37576
|
if (disconnectAll) {
|
|
@@ -37569,7 +37603,7 @@ async function handleDeleteResource(client, resource, options) {
|
|
|
37569
37603
|
const hasProjects = resource.projectsMetadata && resource.projectsMetadata?.length > 0;
|
|
37570
37604
|
if (!options?.skipProjectCheck && hasProjects) {
|
|
37571
37605
|
output_manager_default.error(
|
|
37572
|
-
`Cannot delete resource ${
|
|
37606
|
+
`Cannot delete resource ${import_chalk147.default.bold(resource.name)} while it has connected projects. Please disconnect any projects using this resource first or use the \`--disconnect-all\` flag.`
|
|
37573
37607
|
);
|
|
37574
37608
|
return 1;
|
|
37575
37609
|
}
|
|
@@ -37588,7 +37622,7 @@ async function handleDeleteResource(client, resource, options) {
|
|
|
37588
37622
|
await deleteResource(client, resource);
|
|
37589
37623
|
} catch (error) {
|
|
37590
37624
|
output_manager_default.error(
|
|
37591
|
-
`A problem occurred when attempting to delete ${
|
|
37625
|
+
`A problem occurred when attempting to delete ${import_chalk147.default.bold(resource.name)}: ${error.message}`
|
|
37592
37626
|
);
|
|
37593
37627
|
return 1;
|
|
37594
37628
|
}
|
|
@@ -37600,12 +37634,12 @@ async function handleDeleteResource(client, resource, options) {
|
|
|
37600
37634
|
);
|
|
37601
37635
|
return 0;
|
|
37602
37636
|
}
|
|
37603
|
-
output_manager_default.success(`${
|
|
37637
|
+
output_manager_default.success(`${import_chalk147.default.bold(resource.name)} successfully deleted.`);
|
|
37604
37638
|
return 0;
|
|
37605
37639
|
}
|
|
37606
37640
|
async function confirmDeleteResource(client, resource) {
|
|
37607
|
-
output_manager_default.log(`${
|
|
37608
|
-
return client.input.confirm(`${
|
|
37641
|
+
output_manager_default.log(`${import_chalk147.default.bold(resource.name)} will be deleted permanently.`);
|
|
37642
|
+
return client.input.confirm(`${import_chalk147.default.red("Are you sure?")}`, false);
|
|
37609
37643
|
}
|
|
37610
37644
|
|
|
37611
37645
|
// src/commands/integration-resource/index.ts
|
|
@@ -37707,7 +37741,7 @@ async function main20(client) {
|
|
|
37707
37741
|
}
|
|
37708
37742
|
|
|
37709
37743
|
// src/commands/integration/list.ts
|
|
37710
|
-
var
|
|
37744
|
+
var import_chalk148 = __toESM(require_source(), 1);
|
|
37711
37745
|
var import_title3 = __toESM(require_lib2(), 1);
|
|
37712
37746
|
|
|
37713
37747
|
// src/util/telemetry/commands/integration/list.ts
|
|
@@ -37868,20 +37902,20 @@ async function list10(client) {
|
|
|
37868
37902
|
output_manager_default.log("No resources found.");
|
|
37869
37903
|
return 0;
|
|
37870
37904
|
}
|
|
37871
|
-
const headerMessage = project ? `Integration resources for project ${
|
|
37905
|
+
const headerMessage = project ? `Integration resources for project ${import_chalk148.default.bold(project.name)} in ${import_chalk148.default.bold(contextName)}:` : `Integrations in ${import_chalk148.default.bold(contextName)}:`;
|
|
37872
37906
|
output_manager_default.log(
|
|
37873
37907
|
`${headerMessage}
|
|
37874
37908
|
${table(
|
|
37875
37909
|
[
|
|
37876
37910
|
["Name", "Status", "Product", "Integration", "Projects"].map(
|
|
37877
|
-
(header) =>
|
|
37911
|
+
(header) => import_chalk148.default.bold(import_chalk148.default.cyan(header))
|
|
37878
37912
|
),
|
|
37879
37913
|
...results.map((result) => [
|
|
37880
|
-
resourceLink(contextName, result) ??
|
|
37914
|
+
resourceLink(contextName, result) ?? import_chalk148.default.gray("\u2013"),
|
|
37881
37915
|
resourceStatus(result.status ?? "\u2013", result.isSandbox),
|
|
37882
|
-
result.product ??
|
|
37883
|
-
integrationLink(result, team) ??
|
|
37884
|
-
|
|
37916
|
+
result.product ?? import_chalk148.default.gray("\u2013"),
|
|
37917
|
+
integrationLink(result, team) ?? import_chalk148.default.gray("\u2013"),
|
|
37918
|
+
import_chalk148.default.grey(
|
|
37885
37919
|
result.projects?.length ? result.projects.join(", ") : "\u2013"
|
|
37886
37920
|
)
|
|
37887
37921
|
])
|
|
@@ -37902,20 +37936,20 @@ ${table(
|
|
|
37902
37936
|
function resourceStatus(status3, isSandbox = false) {
|
|
37903
37937
|
const CIRCLE = "\u25CF ";
|
|
37904
37938
|
const statusTitleCase = (0, import_title3.default)(status3);
|
|
37905
|
-
const sandboxTag = isSandbox ? ` ${
|
|
37939
|
+
const sandboxTag = isSandbox ? ` ${import_chalk148.default.yellow("[SANDBOX]")}` : "";
|
|
37906
37940
|
switch (status3) {
|
|
37907
37941
|
case "initializing":
|
|
37908
|
-
return
|
|
37942
|
+
return import_chalk148.default.yellow(CIRCLE) + statusTitleCase + sandboxTag;
|
|
37909
37943
|
case "error":
|
|
37910
|
-
return
|
|
37944
|
+
return import_chalk148.default.red(CIRCLE) + statusTitleCase + sandboxTag;
|
|
37911
37945
|
case "available":
|
|
37912
|
-
return
|
|
37946
|
+
return import_chalk148.default.green(CIRCLE) + statusTitleCase + sandboxTag;
|
|
37913
37947
|
case "suspended":
|
|
37914
|
-
return
|
|
37948
|
+
return import_chalk148.default.white(CIRCLE) + statusTitleCase + sandboxTag;
|
|
37915
37949
|
case "limits-exceeded-suspended":
|
|
37916
|
-
return `${
|
|
37950
|
+
return `${import_chalk148.default.white(CIRCLE)}Limits exceeded${sandboxTag}`;
|
|
37917
37951
|
default:
|
|
37918
|
-
return
|
|
37952
|
+
return import_chalk148.default.gray(statusTitleCase) + sandboxTag;
|
|
37919
37953
|
}
|
|
37920
37954
|
}
|
|
37921
37955
|
function resourceLink(orgSlug, resource) {
|
|
@@ -37936,7 +37970,7 @@ function integrationLink(integration, team) {
|
|
|
37936
37970
|
if (!integration.configurationId) {
|
|
37937
37971
|
return integration.integration;
|
|
37938
37972
|
}
|
|
37939
|
-
const boldName =
|
|
37973
|
+
const boldName = import_chalk148.default.bold(integration.integration);
|
|
37940
37974
|
const integrationDeepLink = buildSSOLink(team, integration.configurationId);
|
|
37941
37975
|
return output_manager_default.link(boldName, integrationDeepLink, {
|
|
37942
37976
|
fallback: () => boldName,
|
|
@@ -37945,7 +37979,7 @@ function integrationLink(integration, team) {
|
|
|
37945
37979
|
}
|
|
37946
37980
|
|
|
37947
37981
|
// src/commands/integration/open-integration.ts
|
|
37948
|
-
var
|
|
37982
|
+
var import_chalk149 = __toESM(require_source(), 1);
|
|
37949
37983
|
var import_open13 = __toESM(require_open(), 1);
|
|
37950
37984
|
|
|
37951
37985
|
// src/util/telemetry/commands/integration/open.ts
|
|
@@ -38014,7 +38048,7 @@ async function openIntegration(client, subArgs) {
|
|
|
38014
38048
|
knownIntegrationSlug = !!configuration;
|
|
38015
38049
|
} catch (error) {
|
|
38016
38050
|
output_manager_default.error(
|
|
38017
|
-
`Failed to fetch configuration for ${
|
|
38051
|
+
`Failed to fetch configuration for ${import_chalk149.default.bold(`"${integrationSlug}"`)}: ${error.message}`
|
|
38018
38052
|
);
|
|
38019
38053
|
return 1;
|
|
38020
38054
|
} finally {
|
|
@@ -38025,7 +38059,7 @@ async function openIntegration(client, subArgs) {
|
|
|
38025
38059
|
}
|
|
38026
38060
|
if (!configuration) {
|
|
38027
38061
|
output_manager_default.error(
|
|
38028
|
-
`No configuration found for ${
|
|
38062
|
+
`No configuration found for ${import_chalk149.default.bold(`"${integrationSlug}"`)}.`
|
|
38029
38063
|
);
|
|
38030
38064
|
return 1;
|
|
38031
38065
|
}
|
|
@@ -38043,7 +38077,7 @@ async function openIntegration(client, subArgs) {
|
|
|
38043
38077
|
);
|
|
38044
38078
|
if (!resource) {
|
|
38045
38079
|
output_manager_default.error(
|
|
38046
|
-
`Resource ${
|
|
38080
|
+
`Resource ${import_chalk149.default.bold(`"${resourceName}"`)} not found for integration ${import_chalk149.default.bold(`"${integrationSlug}"`)}.`
|
|
38047
38081
|
);
|
|
38048
38082
|
return 1;
|
|
38049
38083
|
}
|
|
@@ -38064,7 +38098,7 @@ function outputLink(client, link, json, name, isResource) {
|
|
|
38064
38098
|
client.stdout.write(`${JSON.stringify({ url: link }, null, 2)}
|
|
38065
38099
|
`);
|
|
38066
38100
|
} else if (client.stdout.isTTY) {
|
|
38067
|
-
const label = isResource ? `Opening the ${
|
|
38101
|
+
const label = isResource ? `Opening the ${import_chalk149.default.bold(name)} resource dashboard...` : `Opening the ${import_chalk149.default.bold(name)} dashboard...`;
|
|
38068
38102
|
output_manager_default.print(label);
|
|
38069
38103
|
(0, import_open13.default)(link);
|
|
38070
38104
|
} else {
|
|
@@ -38074,7 +38108,7 @@ function outputLink(client, link, json, name, isResource) {
|
|
|
38074
38108
|
}
|
|
38075
38109
|
|
|
38076
38110
|
// src/commands/integration/remove-integration.ts
|
|
38077
|
-
var
|
|
38111
|
+
var import_chalk150 = __toESM(require_source(), 1);
|
|
38078
38112
|
|
|
38079
38113
|
// src/util/integration/remove-integration.ts
|
|
38080
38114
|
async function removeIntegration(client, configuration) {
|
|
@@ -38210,7 +38244,7 @@ async function remove6(client, argv) {
|
|
|
38210
38244
|
);
|
|
38211
38245
|
output_manager_default.stopSpinner();
|
|
38212
38246
|
if (!integrationConfiguration) {
|
|
38213
|
-
output_manager_default.error(`No integration ${
|
|
38247
|
+
output_manager_default.error(`No integration ${import_chalk150.default.bold(integrationName)} found.`);
|
|
38214
38248
|
telemetry2.trackCliArgumentIntegration(integrationName, false);
|
|
38215
38249
|
return 1;
|
|
38216
38250
|
}
|
|
@@ -38292,13 +38326,13 @@ async function remove6(client, argv) {
|
|
|
38292
38326
|
return 1;
|
|
38293
38327
|
}
|
|
38294
38328
|
output_manager_default.error(
|
|
38295
|
-
`Cannot uninstall ${
|
|
38329
|
+
`Cannot uninstall ${import_chalk150.default.bold(integrationName)} because it still has resources.`
|
|
38296
38330
|
);
|
|
38297
38331
|
if (resourceNames.length > 0) {
|
|
38298
38332
|
output_manager_default.log("");
|
|
38299
38333
|
output_manager_default.log("Resources that must be removed first:");
|
|
38300
38334
|
for (const name of resourceNames) {
|
|
38301
|
-
output_manager_default.log(` ${
|
|
38335
|
+
output_manager_default.log(` ${import_chalk150.default.gray("-")} ${name}`);
|
|
38302
38336
|
}
|
|
38303
38337
|
output_manager_default.log("");
|
|
38304
38338
|
}
|
|
@@ -38308,16 +38342,16 @@ async function remove6(client, argv) {
|
|
|
38308
38342
|
);
|
|
38309
38343
|
}
|
|
38310
38344
|
output_manager_default.log(
|
|
38311
|
-
`Remove and disconnect all resources first with: ${
|
|
38345
|
+
`Remove and disconnect all resources first with: ${import_chalk150.default.cyan(`${packageName} integration resource remove <resource-name> --disconnect-all`)}`
|
|
38312
38346
|
);
|
|
38313
38347
|
output_manager_default.log(
|
|
38314
|
-
`Then retry: ${
|
|
38348
|
+
`Then retry: ${import_chalk150.default.cyan(`${packageName} integration remove ${integrationName}`)}`
|
|
38315
38349
|
);
|
|
38316
38350
|
return 1;
|
|
38317
38351
|
}
|
|
38318
38352
|
output_manager_default.error(
|
|
38319
|
-
|
|
38320
|
-
`Failed to remove ${
|
|
38353
|
+
import_chalk150.default.red(
|
|
38354
|
+
`Failed to remove ${import_chalk150.default.bold(integrationName)}: ${error.message}`
|
|
38321
38355
|
)
|
|
38322
38356
|
);
|
|
38323
38357
|
return 1;
|
|
@@ -38330,18 +38364,18 @@ async function remove6(client, argv) {
|
|
|
38330
38364
|
);
|
|
38331
38365
|
return 0;
|
|
38332
38366
|
}
|
|
38333
|
-
output_manager_default.success(`${
|
|
38367
|
+
output_manager_default.success(`${import_chalk150.default.bold(integrationName)} successfully removed.`);
|
|
38334
38368
|
return 0;
|
|
38335
38369
|
}
|
|
38336
38370
|
async function confirmIntegrationRemoval(client, integration, team) {
|
|
38337
38371
|
output_manager_default.log(
|
|
38338
|
-
`The ${
|
|
38372
|
+
`The ${import_chalk150.default.bold(integration)} integration will be removed permanently from team ${import_chalk150.default.bold(team.name)}.`
|
|
38339
38373
|
);
|
|
38340
|
-
return client.input.confirm(`${
|
|
38374
|
+
return client.input.confirm(`${import_chalk150.default.red("Are you sure?")}`, false);
|
|
38341
38375
|
}
|
|
38342
38376
|
|
|
38343
38377
|
// src/commands/integration/update-integration.ts
|
|
38344
|
-
var
|
|
38378
|
+
var import_chalk151 = __toESM(require_source(), 1);
|
|
38345
38379
|
|
|
38346
38380
|
// src/util/integration/patch-integration-configuration.ts
|
|
38347
38381
|
async function patchIntegrationConfiguration(client, configurationId, body) {
|
|
@@ -38664,13 +38698,13 @@ async function update3(client, argv) {
|
|
|
38664
38698
|
return 0;
|
|
38665
38699
|
}
|
|
38666
38700
|
output_manager_default.success(
|
|
38667
|
-
`${
|
|
38701
|
+
`${import_chalk151.default.bold(integrationSlug)} installation updated successfully.`
|
|
38668
38702
|
);
|
|
38669
38703
|
return 0;
|
|
38670
38704
|
}
|
|
38671
38705
|
|
|
38672
38706
|
// src/commands/integration/categories.ts
|
|
38673
|
-
var
|
|
38707
|
+
var import_chalk152 = __toESM(require_source(), 1);
|
|
38674
38708
|
|
|
38675
38709
|
// src/util/integration/fetch-integration-categories.ts
|
|
38676
38710
|
async function fetchIntegrationCategories(client) {
|
|
@@ -38734,18 +38768,18 @@ async function categories(client, args) {
|
|
|
38734
38768
|
function formatTable2(items) {
|
|
38735
38769
|
return table(
|
|
38736
38770
|
[
|
|
38737
|
-
["Slug", "Title"].map((header) =>
|
|
38771
|
+
["Slug", "Title"].map((header) => import_chalk152.default.bold(import_chalk152.default.cyan(header))),
|
|
38738
38772
|
...items.map((item) => [item.slug, item.title])
|
|
38739
38773
|
],
|
|
38740
38774
|
{ hsep: 4 }
|
|
38741
38775
|
);
|
|
38742
38776
|
}
|
|
38743
38777
|
function formatCompactList(items) {
|
|
38744
|
-
return items.map((item) => `${
|
|
38778
|
+
return items.map((item) => `${import_chalk152.default.bold(item.slug)} ${item.title}`).join("\n");
|
|
38745
38779
|
}
|
|
38746
38780
|
|
|
38747
38781
|
// src/commands/integration/discover.ts
|
|
38748
|
-
var
|
|
38782
|
+
var import_chalk153 = __toESM(require_source(), 1);
|
|
38749
38783
|
|
|
38750
38784
|
// src/util/telemetry/commands/integration/discover.ts
|
|
38751
38785
|
var IntegrationDiscoverTelemetryClient = class extends TelemetryClient {
|
|
@@ -38911,13 +38945,13 @@ function formatTable3(products) {
|
|
|
38911
38945
|
return table(
|
|
38912
38946
|
[
|
|
38913
38947
|
["Product Name", "Slug", "Provider", "Description"].map(
|
|
38914
|
-
(header) =>
|
|
38948
|
+
(header) => import_chalk153.default.bold(import_chalk153.default.cyan(header))
|
|
38915
38949
|
),
|
|
38916
38950
|
...products.map((product) => [
|
|
38917
38951
|
product.name,
|
|
38918
38952
|
product.slug,
|
|
38919
38953
|
product.provider,
|
|
38920
|
-
product.description ||
|
|
38954
|
+
product.description || import_chalk153.default.gray("-")
|
|
38921
38955
|
])
|
|
38922
38956
|
],
|
|
38923
38957
|
{ hsep: 4 }
|
|
@@ -38930,7 +38964,7 @@ function matchesSearchTerm2(product, term) {
|
|
|
38930
38964
|
function formatCompactList2(products) {
|
|
38931
38965
|
return products.map((product) => {
|
|
38932
38966
|
return [
|
|
38933
|
-
`${
|
|
38967
|
+
`${import_chalk153.default.bold(product.name)} (${product.slug})`,
|
|
38934
38968
|
` Provider: ${product.provider}`,
|
|
38935
38969
|
` Description: ${product.description || "-"}`
|
|
38936
38970
|
].join("\n");
|
|
@@ -38938,7 +38972,7 @@ function formatCompactList2(products) {
|
|
|
38938
38972
|
}
|
|
38939
38973
|
|
|
38940
38974
|
// src/commands/integration/guide.ts
|
|
38941
|
-
var
|
|
38975
|
+
var import_chalk154 = __toESM(require_source(), 1);
|
|
38942
38976
|
|
|
38943
38977
|
// src/util/telemetry/commands/integration/guide.ts
|
|
38944
38978
|
var IntegrationGuideTelemetryClient = class extends TelemetryClient {
|
|
@@ -39013,7 +39047,7 @@ async function guide(client, subArgs) {
|
|
|
39013
39047
|
if (products.length > 1) {
|
|
39014
39048
|
output_manager_default.log("Available products:");
|
|
39015
39049
|
for (const p of products) {
|
|
39016
|
-
output_manager_default.log(` ${
|
|
39050
|
+
output_manager_default.log(` ${import_chalk154.default.cyan(p.slug)} ${p.name}`);
|
|
39017
39051
|
}
|
|
39018
39052
|
}
|
|
39019
39053
|
return 1;
|
|
@@ -39028,7 +39062,7 @@ async function guide(client, subArgs) {
|
|
|
39028
39062
|
);
|
|
39029
39063
|
output_manager_default.log("Available products:");
|
|
39030
39064
|
for (const p of products) {
|
|
39031
|
-
output_manager_default.log(` ${
|
|
39065
|
+
output_manager_default.log(` ${import_chalk154.default.cyan(p.slug)} ${p.name}`);
|
|
39032
39066
|
}
|
|
39033
39067
|
return 1;
|
|
39034
39068
|
}
|
|
@@ -39061,7 +39095,7 @@ async function guide(client, subArgs) {
|
|
|
39061
39095
|
);
|
|
39062
39096
|
output_manager_default.log("Available frameworks:");
|
|
39063
39097
|
for (const g of guides) {
|
|
39064
|
-
output_manager_default.log(` ${
|
|
39098
|
+
output_manager_default.log(` ${import_chalk154.default.cyan(g.framework)} ${g.title}`);
|
|
39065
39099
|
}
|
|
39066
39100
|
return 1;
|
|
39067
39101
|
}
|
|
@@ -39144,7 +39178,7 @@ async function fetchAllMarketplaceInstallations(client) {
|
|
|
39144
39178
|
}
|
|
39145
39179
|
|
|
39146
39180
|
// src/commands/integration/installations-list.ts
|
|
39147
|
-
var
|
|
39181
|
+
var import_chalk155 = __toESM(require_source(), 1);
|
|
39148
39182
|
function pickIntegrationKey(row) {
|
|
39149
39183
|
const integration = row.integration;
|
|
39150
39184
|
if (integration && typeof integration.slug === "string") {
|
|
@@ -39199,7 +39233,7 @@ async function installationsList(client, argv) {
|
|
|
39199
39233
|
return 0;
|
|
39200
39234
|
}
|
|
39201
39235
|
const headers = ["Installation", "Integration", "Owner"].map(
|
|
39202
|
-
(h) =>
|
|
39236
|
+
(h) => import_chalk155.default.cyan(h)
|
|
39203
39237
|
);
|
|
39204
39238
|
const lines = [
|
|
39205
39239
|
headers,
|
|
@@ -39226,7 +39260,7 @@ ${table(lines, { hsep: 2 }).replace(/^/gm, " ")}
|
|
|
39226
39260
|
}
|
|
39227
39261
|
|
|
39228
39262
|
// src/commands/integration/accept-terms.ts
|
|
39229
|
-
var
|
|
39263
|
+
var import_chalk156 = __toESM(require_source(), 1);
|
|
39230
39264
|
|
|
39231
39265
|
// src/util/integration/marketplace-install-integration.ts
|
|
39232
39266
|
async function installMarketplaceIntegration(client, integrationIdOrSlug, acceptedPolicies) {
|
|
@@ -39369,7 +39403,7 @@ async function acceptTerms(client, argv) {
|
|
|
39369
39403
|
return 0;
|
|
39370
39404
|
}
|
|
39371
39405
|
output_manager_default.log(
|
|
39372
|
-
`Integration ${
|
|
39406
|
+
`Integration ${import_chalk156.default.bold(integration.slug)} is already installed for this team.`
|
|
39373
39407
|
);
|
|
39374
39408
|
return 0;
|
|
39375
39409
|
}
|
|
@@ -39417,7 +39451,7 @@ async function acceptTerms(client, argv) {
|
|
|
39417
39451
|
return 0;
|
|
39418
39452
|
}
|
|
39419
39453
|
output_manager_default.success(
|
|
39420
|
-
`Terms accepted. Integration ${
|
|
39454
|
+
`Terms accepted. Integration ${import_chalk156.default.bold(integration.slug)} is installed for this team.`
|
|
39421
39455
|
);
|
|
39422
39456
|
logPolicyLinksSummary(policyLinks);
|
|
39423
39457
|
return 0;
|
|
@@ -39439,7 +39473,7 @@ async function acceptTerms(client, argv) {
|
|
|
39439
39473
|
return 0;
|
|
39440
39474
|
}
|
|
39441
39475
|
output_manager_default.log(
|
|
39442
|
-
`Integration ${
|
|
39476
|
+
`Integration ${import_chalk156.default.bold(integration.slug)} is already installed for this team.`
|
|
39443
39477
|
);
|
|
39444
39478
|
return 0;
|
|
39445
39479
|
}
|
|
@@ -39796,7 +39830,7 @@ async function logout2(client) {
|
|
|
39796
39830
|
|
|
39797
39831
|
// src/commands/logs/index.ts
|
|
39798
39832
|
var import_error_utils14 = __toESM(require_dist(), 1);
|
|
39799
|
-
var
|
|
39833
|
+
var import_chalk157 = __toESM(require_source(), 1);
|
|
39800
39834
|
var import_format21 = __toESM(require_format(), 1);
|
|
39801
39835
|
|
|
39802
39836
|
// src/util/logs-v2.ts
|
|
@@ -40172,7 +40206,7 @@ async function resolveFollowDeployment({
|
|
|
40172
40206
|
output_manager_default.stopSpinner();
|
|
40173
40207
|
if (!productionDeployment) {
|
|
40174
40208
|
output_manager_default.error(
|
|
40175
|
-
`No READY production deployments found for ${formatProject(orgSlug, projectSlug)}. Deploy to production first, specify a deployment with ${
|
|
40209
|
+
`No READY production deployments found for ${formatProject(orgSlug, projectSlug)}. Deploy to production first, specify a deployment with ${import_chalk157.default.bold("--deployment")}, or select a preview branch with ${import_chalk157.default.bold("--branch")}.`
|
|
40176
40210
|
);
|
|
40177
40211
|
return { exitCode: 1 };
|
|
40178
40212
|
}
|
|
@@ -40186,13 +40220,13 @@ async function resolveFollowDeployment({
|
|
|
40186
40220
|
}
|
|
40187
40221
|
if (noBranch) {
|
|
40188
40222
|
output_manager_default.error(
|
|
40189
|
-
`The ${
|
|
40223
|
+
`The ${import_chalk157.default.bold("--follow")} flag requires a deployment. Specify one with ${import_chalk157.default.bold("--deployment")} or remove ${import_chalk157.default.bold("--no-branch")} to auto-detect from the current git branch.`
|
|
40190
40224
|
);
|
|
40191
40225
|
return { exitCode: 1 };
|
|
40192
40226
|
}
|
|
40193
40227
|
if (!branch) {
|
|
40194
40228
|
output_manager_default.error(
|
|
40195
|
-
`The ${
|
|
40229
|
+
`The ${import_chalk157.default.bold("--follow")} flag requires a deployment. Specify one with ${import_chalk157.default.bold("--deployment")} or run from within a git repository.`
|
|
40196
40230
|
);
|
|
40197
40231
|
return { exitCode: 1 };
|
|
40198
40232
|
}
|
|
@@ -40205,7 +40239,7 @@ async function resolveFollowDeployment({
|
|
|
40205
40239
|
output_manager_default.stopSpinner();
|
|
40206
40240
|
if (!branchDeployment) {
|
|
40207
40241
|
output_manager_default.error(
|
|
40208
|
-
`No deployments found for branch "${branch}". Deploy this branch first or specify a deployment with ${
|
|
40242
|
+
`No deployments found for branch "${branch}". Deploy this branch first or specify a deployment with ${import_chalk157.default.bold("--deployment")}.`
|
|
40209
40243
|
);
|
|
40210
40244
|
return { exitCode: 1 };
|
|
40211
40245
|
}
|
|
@@ -40311,7 +40345,7 @@ function getInspectCommand(deployment, contextName, { plain = false } = {}) {
|
|
|
40311
40345
|
function printNonLiveDeploymentError(deployment, contextName) {
|
|
40312
40346
|
const inspectCommand2 = getInspectCommand(deployment, contextName);
|
|
40313
40347
|
output_manager_default.error(
|
|
40314
|
-
`Logs are unavailable because deployment ${
|
|
40348
|
+
`Logs are unavailable because deployment ${import_chalk157.default.bold(
|
|
40315
40349
|
deployment.id
|
|
40316
40350
|
)} never reached READY and ended in ${deployment.readyState}.
|
|
40317
40351
|
Run ${inspectCommand2} for deployment details.`
|
|
@@ -40326,7 +40360,7 @@ async function resolveLogsTarget(client, { contextName, deploymentOption, projec
|
|
|
40326
40360
|
} catch (err) {
|
|
40327
40361
|
if (err instanceof DeploymentNotFound) {
|
|
40328
40362
|
output_manager_default.error(
|
|
40329
|
-
`Deployment not found: ${deploymentOption} under ${
|
|
40363
|
+
`Deployment not found: ${deploymentOption} under ${import_chalk157.default.bold(
|
|
40330
40364
|
contextName
|
|
40331
40365
|
)}`
|
|
40332
40366
|
);
|
|
@@ -40349,7 +40383,7 @@ async function resolveLogsTarget(client, { contextName, deploymentOption, projec
|
|
|
40349
40383
|
output_manager_default.stopSpinner();
|
|
40350
40384
|
if (project instanceof ProjectNotFound) {
|
|
40351
40385
|
output_manager_default.error(
|
|
40352
|
-
`Project not found: ${deployment.projectId} under ${
|
|
40386
|
+
`Project not found: ${deployment.projectId} under ${import_chalk157.default.bold(
|
|
40353
40387
|
contextName
|
|
40354
40388
|
)}`
|
|
40355
40389
|
);
|
|
@@ -40361,13 +40395,13 @@ async function resolveLogsTarget(client, { contextName, deploymentOption, projec
|
|
|
40361
40395
|
output_manager_default.stopSpinner();
|
|
40362
40396
|
if (explicitProject instanceof ProjectNotFound) {
|
|
40363
40397
|
output_manager_default.error(
|
|
40364
|
-
`Project not found: ${projectOption} under ${
|
|
40398
|
+
`Project not found: ${projectOption} under ${import_chalk157.default.bold(contextName)}`
|
|
40365
40399
|
);
|
|
40366
40400
|
return { exitCode: 1 };
|
|
40367
40401
|
}
|
|
40368
40402
|
if (explicitProject.id !== project.id) {
|
|
40369
40403
|
output_manager_default.error(
|
|
40370
|
-
`The deployment "${deploymentOption}" does not belong to "${projectOption}" project. Remove either the deployment selection or the ${
|
|
40404
|
+
`The deployment "${deploymentOption}" does not belong to "${projectOption}" project. Remove either the deployment selection or the ${import_chalk157.default.bold(
|
|
40371
40405
|
"--project"
|
|
40372
40406
|
)} option.`
|
|
40373
40407
|
);
|
|
@@ -40389,7 +40423,7 @@ async function resolveLogsTarget(client, { contextName, deploymentOption, projec
|
|
|
40389
40423
|
output_manager_default.stopSpinner();
|
|
40390
40424
|
if (project instanceof ProjectNotFound) {
|
|
40391
40425
|
output_manager_default.error(
|
|
40392
|
-
`Project not found: ${projectOption} under ${
|
|
40426
|
+
`Project not found: ${projectOption} under ${import_chalk157.default.bold(contextName)}`
|
|
40393
40427
|
);
|
|
40394
40428
|
return { exitCode: 1 };
|
|
40395
40429
|
}
|
|
@@ -40409,7 +40443,7 @@ async function resolveLogsTarget(client, { contextName, deploymentOption, projec
|
|
|
40409
40443
|
output_manager_default.error(
|
|
40410
40444
|
`Your codebase isn't linked to a project on Vercel. Run ${getCommandName(
|
|
40411
40445
|
"link"
|
|
40412
|
-
)} to begin, or specify a project with ${
|
|
40446
|
+
)} to begin, or specify a project with ${import_chalk157.default.bold("--project")}.`
|
|
40413
40447
|
);
|
|
40414
40448
|
return { exitCode: 1 };
|
|
40415
40449
|
}
|
|
@@ -40501,10 +40535,10 @@ async function logs(client) {
|
|
|
40501
40535
|
{ flag: "--search", value: searchOption },
|
|
40502
40536
|
{ flag: "--request-id", value: requestIdOption }
|
|
40503
40537
|
];
|
|
40504
|
-
const usedIncompatible = incompatibleFlags.filter((f) => f.value !== void 0 && f.value !== null).map((f) =>
|
|
40538
|
+
const usedIncompatible = incompatibleFlags.filter((f) => f.value !== void 0 && f.value !== null).map((f) => import_chalk157.default.bold(f.flag));
|
|
40505
40539
|
if (usedIncompatible.length > 0) {
|
|
40506
40540
|
output_manager_default.error(
|
|
40507
|
-
`The ${
|
|
40541
|
+
`The ${import_chalk157.default.bold("--follow")} flag does not support filtering. Remove: ${usedIncompatible.join(", ")}`
|
|
40508
40542
|
);
|
|
40509
40543
|
return 1;
|
|
40510
40544
|
}
|
|
@@ -40566,7 +40600,7 @@ async function logs(client) {
|
|
|
40566
40600
|
}
|
|
40567
40601
|
if (!jsonOption) {
|
|
40568
40602
|
output_manager_default.print(
|
|
40569
|
-
`Streaming logs for ${followDeployment.label} ${
|
|
40603
|
+
`Streaming logs for ${followDeployment.label} ${import_chalk157.default.bold(followDeployment.deploymentId)} starting from ${import_chalk157.default.bold((0, import_format21.default)(Date.now(), TIME_ONLY_FORMAT))}
|
|
40570
40604
|
|
|
40571
40605
|
`
|
|
40572
40606
|
);
|
|
@@ -40647,10 +40681,10 @@ async function logs(client) {
|
|
|
40647
40681
|
}
|
|
40648
40682
|
output_manager_default.stopSpinner();
|
|
40649
40683
|
if (!jsonOption) {
|
|
40650
|
-
const branchSuffix = branchOption ? ` on branch ${
|
|
40684
|
+
const branchSuffix = branchOption ? ` on branch ${import_chalk157.default.cyan(branchOption)}` : "";
|
|
40651
40685
|
if (logs2.length === 0) {
|
|
40652
40686
|
output_manager_default.print(
|
|
40653
|
-
|
|
40687
|
+
import_chalk157.default.dim(
|
|
40654
40688
|
`No logs found for ${formatProject(orgSlug, projectSlug)}${branchSuffix}
|
|
40655
40689
|
`
|
|
40656
40690
|
)
|
|
@@ -40676,12 +40710,12 @@ async function logs(client) {
|
|
|
40676
40710
|
{
|
|
40677
40711
|
label: "TIME",
|
|
40678
40712
|
getValue: (row) => row.time,
|
|
40679
|
-
format: (padded) =>
|
|
40713
|
+
format: (padded) => import_chalk157.default.dim(padded)
|
|
40680
40714
|
},
|
|
40681
40715
|
{
|
|
40682
40716
|
label: "HOST",
|
|
40683
40717
|
getValue: (row) => row.host,
|
|
40684
|
-
format: (padded) =>
|
|
40718
|
+
format: (padded) => import_chalk157.default.dim(padded)
|
|
40685
40719
|
},
|
|
40686
40720
|
{
|
|
40687
40721
|
label: "LEVEL",
|
|
@@ -40699,26 +40733,26 @@ async function logs(client) {
|
|
|
40699
40733
|
{
|
|
40700
40734
|
label: "STATUS",
|
|
40701
40735
|
getValue: (row) => row.status,
|
|
40702
|
-
format: (padded, row) => row.statusCode <= 0 ?
|
|
40736
|
+
format: (padded, row) => row.statusCode <= 0 ? import_chalk157.default.gray(padded) : colorizeStatus(padded, row.statusCode)
|
|
40703
40737
|
},
|
|
40704
40738
|
{
|
|
40705
40739
|
label: "MESSAGE",
|
|
40706
40740
|
width: "stretch",
|
|
40707
40741
|
getValue: (row) => row.message || "(no message)",
|
|
40708
|
-
format: (padded, row) => row.message ? colorizeMessage(padded, row.level) :
|
|
40742
|
+
format: (padded, row) => row.message ? colorizeMessage(padded, row.level) : import_chalk157.default.dim(padded)
|
|
40709
40743
|
}
|
|
40710
40744
|
];
|
|
40711
40745
|
const formatted = table2({
|
|
40712
40746
|
columns,
|
|
40713
40747
|
rows: rowData,
|
|
40714
40748
|
tableWidth: terminalWidth,
|
|
40715
|
-
formatHeader: (header) =>
|
|
40749
|
+
formatHeader: (header) => import_chalk157.default.dim(header),
|
|
40716
40750
|
formatRow: expandOption ? (rowStr, row) => {
|
|
40717
40751
|
if (row.logs.length > 0) {
|
|
40718
40752
|
const renderedLogs = row.logs.map((log) => {
|
|
40719
40753
|
const message = log.message.replace(/\n/g, " ").trim();
|
|
40720
40754
|
const safeMessage = message || "(no message)";
|
|
40721
|
-
const truncatedIndicator = log.messageTruncated ?
|
|
40755
|
+
const truncatedIndicator = log.messageTruncated ? import_chalk157.default.gray("\u2026") : "";
|
|
40722
40756
|
return `${colorizeMessage(safeMessage, log.level)}${truncatedIndicator}`;
|
|
40723
40757
|
}).join("\n");
|
|
40724
40758
|
return `${rowStr}
|
|
@@ -40733,7 +40767,7 @@ ${renderedLogs}
|
|
|
40733
40767
|
output_manager_default.print(row + "\n");
|
|
40734
40768
|
}
|
|
40735
40769
|
output_manager_default.print(
|
|
40736
|
-
|
|
40770
|
+
import_chalk157.default.gray(
|
|
40737
40771
|
`Fetched ${logs2.length} logs for ${formatProject(orgSlug, projectSlug)}${branchSuffix}
|
|
40738
40772
|
`
|
|
40739
40773
|
)
|
|
@@ -40745,26 +40779,26 @@ ${renderedLogs}
|
|
|
40745
40779
|
function colorizeLevel(formatted, level) {
|
|
40746
40780
|
switch (level) {
|
|
40747
40781
|
case "fatal":
|
|
40748
|
-
return
|
|
40782
|
+
return import_chalk157.default.red.bold(formatted);
|
|
40749
40783
|
case "error":
|
|
40750
|
-
return
|
|
40784
|
+
return import_chalk157.default.red(formatted);
|
|
40751
40785
|
case "warning":
|
|
40752
|
-
return
|
|
40786
|
+
return import_chalk157.default.yellow(formatted);
|
|
40753
40787
|
default:
|
|
40754
|
-
return
|
|
40788
|
+
return import_chalk157.default.dim(formatted);
|
|
40755
40789
|
}
|
|
40756
40790
|
}
|
|
40757
40791
|
function colorizeStatus(formatted, statusCode) {
|
|
40758
40792
|
if (statusCode >= 500) {
|
|
40759
|
-
return
|
|
40793
|
+
return import_chalk157.default.red(formatted);
|
|
40760
40794
|
} else if (statusCode >= 400) {
|
|
40761
|
-
return
|
|
40795
|
+
return import_chalk157.default.yellow(formatted);
|
|
40762
40796
|
} else if (statusCode >= 300) {
|
|
40763
|
-
return
|
|
40797
|
+
return import_chalk157.default.cyan(formatted);
|
|
40764
40798
|
} else if (statusCode >= 200) {
|
|
40765
|
-
return
|
|
40799
|
+
return import_chalk157.default.green(formatted);
|
|
40766
40800
|
}
|
|
40767
|
-
return
|
|
40801
|
+
return import_chalk157.default.gray(formatted);
|
|
40768
40802
|
}
|
|
40769
40803
|
function getSourceIcon(source) {
|
|
40770
40804
|
switch (source) {
|
|
@@ -40787,11 +40821,11 @@ function colorizeMessage(message, level) {
|
|
|
40787
40821
|
switch (level) {
|
|
40788
40822
|
case "fatal":
|
|
40789
40823
|
case "error":
|
|
40790
|
-
return
|
|
40824
|
+
return import_chalk157.default.red(message);
|
|
40791
40825
|
case "warning":
|
|
40792
|
-
return
|
|
40826
|
+
return import_chalk157.default.yellow(message);
|
|
40793
40827
|
default:
|
|
40794
|
-
return
|
|
40828
|
+
return import_chalk157.default.dim(message);
|
|
40795
40829
|
}
|
|
40796
40830
|
}
|
|
40797
40831
|
|
|
@@ -41536,7 +41570,7 @@ async function metrics(client) {
|
|
|
41536
41570
|
}
|
|
41537
41571
|
|
|
41538
41572
|
// src/commands/microfrontends/pull.ts
|
|
41539
|
-
var
|
|
41573
|
+
var import_chalk158 = __toESM(require_source(), 1);
|
|
41540
41574
|
import { join as join5 } from "path";
|
|
41541
41575
|
var import_fs_extra = __toESM(require_lib(), 1);
|
|
41542
41576
|
var VERCEL_DIR = ".vercel";
|
|
@@ -41567,7 +41601,7 @@ async function pull2(client) {
|
|
|
41567
41601
|
client.config.currentTeam = org.type === "team" ? org.id : void 0;
|
|
41568
41602
|
const { contextName } = await getScope(client);
|
|
41569
41603
|
output_manager_default.spinner(
|
|
41570
|
-
`Fetching microfrontends configuration in ${
|
|
41604
|
+
`Fetching microfrontends configuration in ${import_chalk158.default.bold(contextName)}`
|
|
41571
41605
|
);
|
|
41572
41606
|
let rawConfig;
|
|
41573
41607
|
const dpl = parsedArgs.flags["--dpl"];
|
|
@@ -41605,11 +41639,11 @@ async function pull2(client) {
|
|
|
41605
41639
|
const microfrontendsStamp = stamp_default();
|
|
41606
41640
|
output_manager_default.print(
|
|
41607
41641
|
`${prependEmoji(
|
|
41608
|
-
`Downloaded microfrontends configuration to ${
|
|
41642
|
+
`Downloaded microfrontends configuration to ${import_chalk158.default.bold(
|
|
41609
41643
|
humanizePath(
|
|
41610
41644
|
join5(currentDirectory, VERCEL_DIR, VERCEL_DIR_MICROFRONTENDS)
|
|
41611
41645
|
)
|
|
41612
|
-
)} ${
|
|
41646
|
+
)} ${import_chalk158.default.gray(microfrontendsStamp())}`,
|
|
41613
41647
|
emoji("success")
|
|
41614
41648
|
)}
|
|
41615
41649
|
`
|
|
@@ -41623,7 +41657,7 @@ async function pull2(client) {
|
|
|
41623
41657
|
}
|
|
41624
41658
|
|
|
41625
41659
|
// src/commands/microfrontends/create-group.ts
|
|
41626
|
-
var
|
|
41660
|
+
var import_chalk159 = __toESM(require_source(), 1);
|
|
41627
41661
|
import { writeFile as writeFile4 } from "fs/promises";
|
|
41628
41662
|
import { existsSync } from "fs";
|
|
41629
41663
|
import { join as join6 } from "path";
|
|
@@ -41708,7 +41742,7 @@ async function createGroup(client) {
|
|
|
41708
41742
|
"A microfrontends group allows multiple projects to be composed into one application with a seamless user experience."
|
|
41709
41743
|
);
|
|
41710
41744
|
output_manager_default.log(
|
|
41711
|
-
`Creating a new microfrontends group for team ${
|
|
41745
|
+
`Creating a new microfrontends group for team ${import_chalk159.default.bold(teamSlug)}.`
|
|
41712
41746
|
);
|
|
41713
41747
|
output_manager_default.log("");
|
|
41714
41748
|
const groupsResponse = await fetchMicrofrontendsGroups(client, team.id);
|
|
@@ -41968,29 +42002,29 @@ async function createGroup(client) {
|
|
|
41968
42002
|
const newProjectCount = selectedProjects.length;
|
|
41969
42003
|
const totalAfter = existingMfeProjectCount + newProjectCount;
|
|
41970
42004
|
output_manager_default.log("");
|
|
41971
|
-
output_manager_default.log(
|
|
41972
|
-
output_manager_default.log(` ${
|
|
42005
|
+
output_manager_default.log(import_chalk159.default.bold("Billing"));
|
|
42006
|
+
output_manager_default.log(` ${import_chalk159.default.bold("Team:")} ${teamSlug}`);
|
|
41973
42007
|
output_manager_default.log(
|
|
41974
|
-
` ${
|
|
42008
|
+
` ${import_chalk159.default.bold("Adding:")} ${newProjectCount} microfrontends project${newProjectCount > 1 ? "s" : ""}`
|
|
41975
42009
|
);
|
|
41976
42010
|
let projectFee;
|
|
41977
42011
|
if (totalAfter <= freeProjects) {
|
|
41978
|
-
projectFee =
|
|
42012
|
+
projectFee = import_chalk159.default.green("Free") + ` (first ${freeProjects} included)`;
|
|
41979
42013
|
} else if (existingMfeProjectCount >= freeProjects) {
|
|
41980
|
-
projectFee =
|
|
42014
|
+
projectFee = import_chalk159.default.yellow(`$250.00/month x ${newProjectCount}`) + ` project${newProjectCount > 1 ? "s" : ""}`;
|
|
41981
42015
|
} else {
|
|
41982
42016
|
const freeRemaining = freeProjects - existingMfeProjectCount;
|
|
41983
42017
|
const paidProjects = newProjectCount - freeRemaining;
|
|
41984
|
-
projectFee =
|
|
42018
|
+
projectFee = import_chalk159.default.green(`${freeRemaining} free`) + ", " + import_chalk159.default.yellow(`$250.00/month x ${paidProjects}`);
|
|
41985
42019
|
}
|
|
41986
|
-
output_manager_default.log(` ${
|
|
42020
|
+
output_manager_default.log(` ${import_chalk159.default.bold("Project fee:")} ${projectFee}`);
|
|
41987
42021
|
output_manager_default.log(
|
|
41988
|
-
` ${
|
|
42022
|
+
` ${import_chalk159.default.bold("Request fee:")} ${import_chalk159.default.yellow("$2.00")} per million microfrontends routed requests`
|
|
41989
42023
|
);
|
|
41990
42024
|
output_manager_default.log("");
|
|
41991
42025
|
if (totalAfter <= freeProjects) {
|
|
41992
42026
|
output_manager_default.log(
|
|
41993
|
-
`This group is within the free tier, so no project fee will be charged to ${
|
|
42027
|
+
`This group is within the free tier, so no project fee will be charged to ${import_chalk159.default.bold(teamSlug)}'s bill. Request fees still apply for microfrontends routed requests.`
|
|
41994
42028
|
);
|
|
41995
42029
|
} else {
|
|
41996
42030
|
const newPaidProjects = Math.min(
|
|
@@ -41998,7 +42032,7 @@ async function createGroup(client) {
|
|
|
41998
42032
|
totalAfter - freeProjects
|
|
41999
42033
|
);
|
|
42000
42034
|
output_manager_default.log(
|
|
42001
|
-
`By proceeding, ${
|
|
42035
|
+
`By proceeding, ${import_chalk159.default.bold(teamSlug)} will be charged for ${newPaidProjects} additional paid project${newPaidProjects > 1 ? "s" : ""} on the team's monthly bill.`
|
|
42002
42036
|
);
|
|
42003
42037
|
}
|
|
42004
42038
|
output_manager_default.log("");
|
|
@@ -42041,7 +42075,7 @@ async function createGroup(client) {
|
|
|
42041
42075
|
output_manager_default.stopSpinner();
|
|
42042
42076
|
const settingsUrl = `https://vercel.com/${teamSlug}/${defaultApp.name}/settings/microfrontends`;
|
|
42043
42077
|
output_manager_default.success(
|
|
42044
|
-
`Microfrontends group "${groupName}" created ${
|
|
42078
|
+
`Microfrontends group "${groupName}" created ${import_chalk159.default.gray(createStamp())}`
|
|
42045
42079
|
);
|
|
42046
42080
|
output_manager_default.log(
|
|
42047
42081
|
`View microfrontends group: ${output_manager_default.link(settingsUrl, settingsUrl, { fallback: false })}`
|
|
@@ -42055,14 +42089,14 @@ async function createGroup(client) {
|
|
|
42055
42089
|
if (!existsSync(configPath)) {
|
|
42056
42090
|
output_manager_default.log("");
|
|
42057
42091
|
output_manager_default.log(
|
|
42058
|
-
`No changes to production traffic will take effect until a ${
|
|
42092
|
+
`No changes to production traffic will take effect until a ${import_chalk159.default.bold("microfrontends.json")} is added to the default app. This configuration file specifies the path routing for the microfrontends group.`
|
|
42059
42093
|
);
|
|
42060
42094
|
const shouldCreate = client.stdin.isTTY && !isNonInteractive && await client.input.confirm("Create a microfrontends.json now?", true);
|
|
42061
42095
|
if (shouldCreate) {
|
|
42062
42096
|
const routingPaths = {};
|
|
42063
42097
|
for (const project of otherProjects) {
|
|
42064
42098
|
output_manager_default.log(
|
|
42065
|
-
`Enter routing paths for ${
|
|
42099
|
+
`Enter routing paths for ${import_chalk159.default.bold(project.name)} (comma-separated, e.g. /docs, /docs/*)`
|
|
42066
42100
|
);
|
|
42067
42101
|
const pathsInput = await client.input.text({
|
|
42068
42102
|
message: `Paths for ${project.name}:`,
|
|
@@ -42089,7 +42123,7 @@ async function createGroup(client) {
|
|
|
42089
42123
|
productionAlias
|
|
42090
42124
|
);
|
|
42091
42125
|
await writeFile4(configPath, config + "\n", "utf-8");
|
|
42092
|
-
output_manager_default.success(`Created ${
|
|
42126
|
+
output_manager_default.success(`Created ${import_chalk159.default.bold("microfrontends.json")}`);
|
|
42093
42127
|
output_manager_default.log(
|
|
42094
42128
|
"Create a preview deployment to test microfrontends before deploying to production."
|
|
42095
42129
|
);
|
|
@@ -42097,7 +42131,7 @@ async function createGroup(client) {
|
|
|
42097
42131
|
}
|
|
42098
42132
|
} else {
|
|
42099
42133
|
output_manager_default.log(
|
|
42100
|
-
`Next step: Add a ${
|
|
42134
|
+
`Next step: Add a ${import_chalk159.default.bold("microfrontends.json")} to your default app. See ${output_manager_default.link("https://vercel.com/docs/microfrontends/path-routing", "https://vercel.com/docs/microfrontends/path-routing", { fallback: false })}`
|
|
42101
42135
|
);
|
|
42102
42136
|
}
|
|
42103
42137
|
return 0;
|
|
@@ -42174,7 +42208,7 @@ function parseProjectDefaultRouteFlags(projectDefaultRouteFlags, selectedProject
|
|
|
42174
42208
|
}
|
|
42175
42209
|
|
|
42176
42210
|
// src/commands/microfrontends/add-to-group.ts
|
|
42177
|
-
var
|
|
42211
|
+
var import_chalk160 = __toESM(require_source(), 1);
|
|
42178
42212
|
async function addToGroup(client) {
|
|
42179
42213
|
let parsedArgs;
|
|
42180
42214
|
const flagsSpecification = getFlagsSpecification(
|
|
@@ -42228,7 +42262,7 @@ async function addToGroup(client) {
|
|
|
42228
42262
|
return 1;
|
|
42229
42263
|
}
|
|
42230
42264
|
output_manager_default.log(
|
|
42231
|
-
`Adding project ${
|
|
42265
|
+
`Adding project ${import_chalk160.default.bold(project.name)} to a microfrontends group on ${import_chalk160.default.bold(teamSlug)}.`
|
|
42232
42266
|
);
|
|
42233
42267
|
output_manager_default.log("");
|
|
42234
42268
|
const groupFlag = parsedArgs.flags["--group"];
|
|
@@ -42318,28 +42352,28 @@ async function addToGroup(client) {
|
|
|
42318
42352
|
});
|
|
42319
42353
|
}
|
|
42320
42354
|
output_manager_default.log("");
|
|
42321
|
-
output_manager_default.log(
|
|
42322
|
-
output_manager_default.log(` ${
|
|
42355
|
+
output_manager_default.log(import_chalk160.default.bold("Billing"));
|
|
42356
|
+
output_manager_default.log(` ${import_chalk160.default.bold("Team:")} ${teamSlug}`);
|
|
42323
42357
|
let projectFee;
|
|
42324
42358
|
if (totalAfter <= freeProjects) {
|
|
42325
|
-
projectFee =
|
|
42359
|
+
projectFee = import_chalk160.default.green("Free") + ` (first ${freeProjects} included)`;
|
|
42326
42360
|
} else if (existingMfeProjectCount >= freeProjects) {
|
|
42327
|
-
projectFee =
|
|
42361
|
+
projectFee = import_chalk160.default.yellow("$250.00/month");
|
|
42328
42362
|
} else {
|
|
42329
|
-
projectFee =
|
|
42363
|
+
projectFee = import_chalk160.default.yellow("$250.00/month") + ` (${freeProjects} free projects used)`;
|
|
42330
42364
|
}
|
|
42331
|
-
output_manager_default.log(` ${
|
|
42365
|
+
output_manager_default.log(` ${import_chalk160.default.bold("Project fee:")} ${projectFee}`);
|
|
42332
42366
|
output_manager_default.log(
|
|
42333
|
-
` ${
|
|
42367
|
+
` ${import_chalk160.default.bold("Request fee:")} ${import_chalk160.default.yellow("$2.00")} per million microfrontends routed requests`
|
|
42334
42368
|
);
|
|
42335
42369
|
output_manager_default.log("");
|
|
42336
42370
|
if (totalAfter <= freeProjects) {
|
|
42337
42371
|
output_manager_default.log(
|
|
42338
|
-
`Adding "${project.name}" is within the free tier, so no project fee will be charged to ${
|
|
42372
|
+
`Adding "${project.name}" is within the free tier, so no project fee will be charged to ${import_chalk160.default.bold(teamSlug)}'s bill. Request fees still apply for microfrontends routed requests.`
|
|
42339
42373
|
);
|
|
42340
42374
|
} else {
|
|
42341
42375
|
output_manager_default.log(
|
|
42342
|
-
`By proceeding, ${
|
|
42376
|
+
`By proceeding, ${import_chalk160.default.bold(teamSlug)} will be charged for this project on the team's monthly bill.`
|
|
42343
42377
|
);
|
|
42344
42378
|
}
|
|
42345
42379
|
output_manager_default.log("");
|
|
@@ -42380,7 +42414,7 @@ async function addToGroup(client) {
|
|
|
42380
42414
|
output_manager_default.stopSpinner();
|
|
42381
42415
|
const settingsUrl = `https://vercel.com/${teamSlug}/${project.name}/settings/microfrontends`;
|
|
42382
42416
|
output_manager_default.success(
|
|
42383
|
-
`Project "${project.name}" added to group "${selectedGroup.group.name}" ${
|
|
42417
|
+
`Project "${project.name}" added to group "${selectedGroup.group.name}" ${import_chalk160.default.gray(addStamp())}`
|
|
42384
42418
|
);
|
|
42385
42419
|
output_manager_default.log(
|
|
42386
42420
|
`View microfrontends group: ${output_manager_default.link(settingsUrl, settingsUrl, { fallback: false })}`
|
|
@@ -42392,7 +42426,7 @@ async function addToGroup(client) {
|
|
|
42392
42426
|
}
|
|
42393
42427
|
|
|
42394
42428
|
// src/commands/microfrontends/remove-from-group.ts
|
|
42395
|
-
var
|
|
42429
|
+
var import_chalk161 = __toESM(require_source(), 1);
|
|
42396
42430
|
async function removeFromGroup(client) {
|
|
42397
42431
|
let parsedArgs;
|
|
42398
42432
|
const flagsSpecification = getFlagsSpecification(
|
|
@@ -42449,7 +42483,7 @@ async function removeFromGroup(client) {
|
|
|
42449
42483
|
return 1;
|
|
42450
42484
|
}
|
|
42451
42485
|
output_manager_default.log(
|
|
42452
|
-
`Removing project ${
|
|
42486
|
+
`Removing project ${import_chalk161.default.bold(project.name)} from microfrontends group ${import_chalk161.default.bold(projectGroup.group.name)} on ${import_chalk161.default.bold(teamSlug)}.`
|
|
42453
42487
|
);
|
|
42454
42488
|
output_manager_default.log(
|
|
42455
42489
|
`After removal, "${project.name}" will no longer be a child app in the group and will not be part of the composed application.`
|
|
@@ -42524,7 +42558,7 @@ async function removeFromGroup(client) {
|
|
|
42524
42558
|
}
|
|
42525
42559
|
output_manager_default.stopSpinner();
|
|
42526
42560
|
output_manager_default.success(
|
|
42527
|
-
`Project "${project.name}" removed from group "${projectGroup.group.name}" ${
|
|
42561
|
+
`Project "${project.name}" removed from group "${projectGroup.group.name}" ${import_chalk161.default.gray(removeStamp())}`
|
|
42528
42562
|
);
|
|
42529
42563
|
if (isReferencedInConfig) {
|
|
42530
42564
|
output_manager_default.log(
|
|
@@ -42535,7 +42569,7 @@ async function removeFromGroup(client) {
|
|
|
42535
42569
|
}
|
|
42536
42570
|
|
|
42537
42571
|
// src/commands/microfrontends/delete-group.ts
|
|
42538
|
-
var
|
|
42572
|
+
var import_chalk162 = __toESM(require_source(), 1);
|
|
42539
42573
|
async function deleteGroup(client) {
|
|
42540
42574
|
let parsedArgs;
|
|
42541
42575
|
const flagsSpecification = getFlagsSpecification(
|
|
@@ -42605,7 +42639,7 @@ async function deleteGroup(client) {
|
|
|
42605
42639
|
) : void 0;
|
|
42606
42640
|
if (linkedGroup && client.stdin.isTTY) {
|
|
42607
42641
|
const useLinkedGroup = await client.input.confirm(
|
|
42608
|
-
`Delete microfrontends group "${linkedGroup.group.name}" (linked to ${
|
|
42642
|
+
`Delete microfrontends group "${linkedGroup.group.name}" (linked to ${import_chalk162.default.bold(linkedProject.name)})?`,
|
|
42609
42643
|
true
|
|
42610
42644
|
);
|
|
42611
42645
|
if (useLinkedGroup) {
|
|
@@ -42641,14 +42675,14 @@ async function deleteGroup(client) {
|
|
|
42641
42675
|
const projectCount = selectedGroup.projects.length;
|
|
42642
42676
|
output_manager_default.log("");
|
|
42643
42677
|
output_manager_default.log(
|
|
42644
|
-
`This will delete the microfrontends group ${
|
|
42678
|
+
`This will delete the microfrontends group ${import_chalk162.default.bold(groupName)} and all of its settings.`
|
|
42645
42679
|
);
|
|
42646
42680
|
if (projectCount > 0) {
|
|
42647
42681
|
output_manager_default.log(
|
|
42648
42682
|
`${projectCount} project${projectCount > 1 ? "s" : ""} will be removed from the group.`
|
|
42649
42683
|
);
|
|
42650
42684
|
}
|
|
42651
|
-
output_manager_default.log(
|
|
42685
|
+
output_manager_default.log(import_chalk162.default.red("This action is not reversible."));
|
|
42652
42686
|
output_manager_default.log("");
|
|
42653
42687
|
if (!autoConfirm) {
|
|
42654
42688
|
if (!client.stdin.isTTY) {
|
|
@@ -42658,7 +42692,7 @@ async function deleteGroup(client) {
|
|
|
42658
42692
|
return 1;
|
|
42659
42693
|
}
|
|
42660
42694
|
const typedName = await client.input.text({
|
|
42661
|
-
message: `Type ${
|
|
42695
|
+
message: `Type ${import_chalk162.default.bold(groupName)} to confirm deletion:`,
|
|
42662
42696
|
validate: (val) => {
|
|
42663
42697
|
if (val !== groupName) {
|
|
42664
42698
|
return `You must type "${groupName}" to confirm.`;
|
|
@@ -42693,7 +42727,7 @@ async function deleteGroup(client) {
|
|
|
42693
42727
|
}
|
|
42694
42728
|
output_manager_default.stopSpinner();
|
|
42695
42729
|
output_manager_default.success(
|
|
42696
|
-
`Microfrontends group "${groupName}" deleted ${
|
|
42730
|
+
`Microfrontends group "${groupName}" deleted ${import_chalk162.default.gray(deleteStamp())}`
|
|
42697
42731
|
);
|
|
42698
42732
|
return 0;
|
|
42699
42733
|
}
|
|
@@ -42701,7 +42735,7 @@ async function deleteGroup(client) {
|
|
|
42701
42735
|
// src/commands/microfrontends/inspect-group.ts
|
|
42702
42736
|
import { existsSync as existsSync2 } from "fs";
|
|
42703
42737
|
import { join as join7 } from "path";
|
|
42704
|
-
var
|
|
42738
|
+
var import_chalk163 = __toESM(require_source(), 1);
|
|
42705
42739
|
async function inspectGroup(client) {
|
|
42706
42740
|
let parsedArgs;
|
|
42707
42741
|
const flagsSpecification = getFlagsSpecification(
|
|
@@ -42861,7 +42895,7 @@ async function inspectGroup(client) {
|
|
|
42861
42895
|
rows.push(["Package name", project.packageName]);
|
|
42862
42896
|
}
|
|
42863
42897
|
if (!project.inGroupConfig) {
|
|
42864
|
-
rows.push(["In config", (0,
|
|
42898
|
+
rows.push(["In config", (0, import_chalk163.red)("no")]);
|
|
42865
42899
|
}
|
|
42866
42900
|
const projectTable = table(rows);
|
|
42867
42901
|
output_manager_default.log(projectTable);
|
|
@@ -43939,7 +43973,7 @@ async function openCommandHandler(client) {
|
|
|
43939
43973
|
}
|
|
43940
43974
|
|
|
43941
43975
|
// src/commands/project/add.ts
|
|
43942
|
-
var
|
|
43976
|
+
var import_chalk164 = __toESM(require_source(), 1);
|
|
43943
43977
|
var import_ms21 = __toESM(require_ms(), 1);
|
|
43944
43978
|
|
|
43945
43979
|
// src/util/telemetry/commands/project/add.ts
|
|
@@ -43972,12 +44006,12 @@ async function add9(client, argv) {
|
|
|
43972
44006
|
const { args } = parsedArgs;
|
|
43973
44007
|
if (args.length !== 1) {
|
|
43974
44008
|
output_manager_default.error(
|
|
43975
|
-
`Invalid number of arguments. Usage: ${
|
|
44009
|
+
`Invalid number of arguments. Usage: ${import_chalk164.default.cyan(
|
|
43976
44010
|
`${getCommandName("project add <name>")}`
|
|
43977
44011
|
)}`
|
|
43978
44012
|
);
|
|
43979
44013
|
if (args.length > 1) {
|
|
43980
|
-
const example =
|
|
44014
|
+
const example = import_chalk164.default.cyan(
|
|
43981
44015
|
`${getCommandName(`project add "${args.join(" ")}"`)}`
|
|
43982
44016
|
);
|
|
43983
44017
|
output_manager_default.log(
|
|
@@ -44005,15 +44039,15 @@ async function add9(client, argv) {
|
|
|
44005
44039
|
const elapsed2 = (0, import_ms21.default)(Date.now() - start);
|
|
44006
44040
|
const { contextName } = await getScope(client);
|
|
44007
44041
|
output_manager_default.log(
|
|
44008
|
-
`${
|
|
44042
|
+
`${import_chalk164.default.cyan("Success!")} Project ${import_chalk164.default.bold(
|
|
44009
44043
|
name.toLowerCase()
|
|
44010
|
-
)} added (${
|
|
44044
|
+
)} added (${import_chalk164.default.bold(contextName)}) ${import_chalk164.default.gray(`[${elapsed2}]`)}`
|
|
44011
44045
|
);
|
|
44012
44046
|
return 0;
|
|
44013
44047
|
}
|
|
44014
44048
|
|
|
44015
44049
|
// src/commands/project/access-summary.ts
|
|
44016
|
-
var
|
|
44050
|
+
var import_chalk165 = __toESM(require_source(), 1);
|
|
44017
44051
|
async function accessSummary(client, argv) {
|
|
44018
44052
|
let parsedArgs;
|
|
44019
44053
|
const flagsSpecification = getFlagsSpecification(
|
|
@@ -44079,7 +44113,7 @@ async function accessSummary(client, argv) {
|
|
|
44079
44113
|
return 0;
|
|
44080
44114
|
}
|
|
44081
44115
|
const rows = [
|
|
44082
|
-
["Role", "Count"].map((h) => (0,
|
|
44116
|
+
["Role", "Count"].map((h) => (0, import_chalk165.gray)(h)),
|
|
44083
44117
|
...entries.map(([role, count]) => [role, String(count)])
|
|
44084
44118
|
];
|
|
44085
44119
|
client.stderr.write(`${table(rows, { hsep: 3 })}
|
|
@@ -44088,7 +44122,7 @@ async function accessSummary(client, argv) {
|
|
|
44088
44122
|
}
|
|
44089
44123
|
|
|
44090
44124
|
// src/commands/project/checks.ts
|
|
44091
|
-
var
|
|
44125
|
+
var import_chalk166 = __toESM(require_source(), 1);
|
|
44092
44126
|
|
|
44093
44127
|
// src/commands/project/checks-add.ts
|
|
44094
44128
|
import { readFileSync as readFileSync3 } from "fs";
|
|
@@ -44637,7 +44671,7 @@ async function checks(client, argv) {
|
|
|
44637
44671
|
return 0;
|
|
44638
44672
|
}
|
|
44639
44673
|
const rows = [
|
|
44640
|
-
["ID", "Name", "Blocking", "Target"].map((h) => (0,
|
|
44674
|
+
["ID", "Name", "Blocking", "Target"].map((h) => (0, import_chalk166.gray)(h)),
|
|
44641
44675
|
...list16.map((c) => [
|
|
44642
44676
|
String(c.id ?? c.checkId ?? ""),
|
|
44643
44677
|
String(c.name ?? ""),
|
|
@@ -44653,7 +44687,7 @@ async function checks(client, argv) {
|
|
|
44653
44687
|
}
|
|
44654
44688
|
|
|
44655
44689
|
// src/commands/project/inspect.ts
|
|
44656
|
-
var
|
|
44690
|
+
var import_chalk167 = __toESM(require_source(), 1);
|
|
44657
44691
|
var import_frameworks = __toESM(require_frameworks(), 1);
|
|
44658
44692
|
|
|
44659
44693
|
// src/util/telemetry/commands/project/inspect.ts
|
|
@@ -44694,7 +44728,7 @@ async function inspect5(client, argv) {
|
|
|
44694
44728
|
telemetry2.trackCliFlagYes(parsedArgs.flags["--yes"]);
|
|
44695
44729
|
if (args.length !== 0 && args.length !== 1) {
|
|
44696
44730
|
output_manager_default.error(
|
|
44697
|
-
`Invalid number of arguments. Usage: ${
|
|
44731
|
+
`Invalid number of arguments. Usage: ${import_chalk167.default.cyan(
|
|
44698
44732
|
`${getCommandName("project inspect <name>")}`
|
|
44699
44733
|
)}`
|
|
44700
44734
|
);
|
|
@@ -44709,42 +44743,42 @@ async function inspect5(client, argv) {
|
|
|
44709
44743
|
});
|
|
44710
44744
|
const org = await getTeamById(client, project.accountId);
|
|
44711
44745
|
const projectSlugLink = formatProject(org.slug, project.name);
|
|
44712
|
-
output_manager_default.log(`Found Project ${projectSlugLink} ${
|
|
44746
|
+
output_manager_default.log(`Found Project ${projectSlugLink} ${import_chalk167.default.gray(inspectStamp())}`);
|
|
44713
44747
|
output_manager_default.print("\n");
|
|
44714
|
-
output_manager_default.print(
|
|
44715
|
-
output_manager_default.print(` ${
|
|
44748
|
+
output_manager_default.print(import_chalk167.default.bold(" General\n\n"));
|
|
44749
|
+
output_manager_default.print(` ${import_chalk167.default.cyan("ID")} ${project.id}
|
|
44716
44750
|
`);
|
|
44717
|
-
output_manager_default.print(` ${
|
|
44751
|
+
output_manager_default.print(` ${import_chalk167.default.cyan("Name")} ${project.name}
|
|
44718
44752
|
`);
|
|
44719
|
-
output_manager_default.print(` ${
|
|
44753
|
+
output_manager_default.print(` ${import_chalk167.default.cyan("Owner")} ${org.name}
|
|
44720
44754
|
`);
|
|
44721
44755
|
output_manager_default.print(
|
|
44722
|
-
` ${
|
|
44756
|
+
` ${import_chalk167.default.cyan("Created At")} ${formatDate(project.createdAt)}
|
|
44723
44757
|
`
|
|
44724
44758
|
);
|
|
44725
44759
|
output_manager_default.print(
|
|
44726
|
-
` ${
|
|
44760
|
+
` ${import_chalk167.default.cyan("Root Directory")} ${project.rootDirectory ?? "."}
|
|
44727
44761
|
`
|
|
44728
44762
|
);
|
|
44729
44763
|
output_manager_default.print(
|
|
44730
|
-
` ${
|
|
44764
|
+
` ${import_chalk167.default.cyan("Node.js Version")} ${project.nodeVersion}
|
|
44731
44765
|
`
|
|
44732
44766
|
);
|
|
44733
44767
|
const framework = import_frameworks.frameworkList.find((f) => f.slug === project.framework);
|
|
44734
44768
|
output_manager_default.print("\n");
|
|
44735
|
-
output_manager_default.print(
|
|
44736
|
-
output_manager_default.print(` ${
|
|
44769
|
+
output_manager_default.print(import_chalk167.default.bold(" Framework Settings\n\n"));
|
|
44770
|
+
output_manager_default.print(` ${import_chalk167.default.cyan("Framework Preset")} ${framework?.name}
|
|
44737
44771
|
`);
|
|
44738
44772
|
output_manager_default.print(
|
|
44739
|
-
` ${
|
|
44773
|
+
` ${import_chalk167.default.cyan("Build Command")} ${project.buildCommand ?? import_chalk167.default.dim(framework?.settings?.buildCommand.placeholder ?? "None")}
|
|
44740
44774
|
`
|
|
44741
44775
|
);
|
|
44742
44776
|
output_manager_default.print(
|
|
44743
|
-
` ${
|
|
44777
|
+
` ${import_chalk167.default.cyan("Output Directory")} ${project.outputDirectory ?? import_chalk167.default.dim(framework?.settings?.outputDirectory.placeholder ?? "None")}
|
|
44744
44778
|
`
|
|
44745
44779
|
);
|
|
44746
44780
|
output_manager_default.print(
|
|
44747
|
-
` ${
|
|
44781
|
+
` ${import_chalk167.default.cyan("Install Command")} ${project.installCommand ?? import_chalk167.default.dim(framework?.settings?.installCommand.placeholder ?? "None")}
|
|
44748
44782
|
`
|
|
44749
44783
|
);
|
|
44750
44784
|
output_manager_default.print("\n");
|
|
@@ -44753,7 +44787,7 @@ async function inspect5(client, argv) {
|
|
|
44753
44787
|
|
|
44754
44788
|
// src/commands/project/list.ts
|
|
44755
44789
|
var import_ms22 = __toESM(require_ms(), 1);
|
|
44756
|
-
var
|
|
44790
|
+
var import_chalk168 = __toESM(require_source(), 1);
|
|
44757
44791
|
|
|
44758
44792
|
// src/util/telemetry/commands/project/list.ts
|
|
44759
44793
|
var ProjectListTelemetryClient = class extends TelemetryClient {
|
|
@@ -44819,7 +44853,7 @@ async function list11(client, argv) {
|
|
|
44819
44853
|
const { args, flags: opts } = parsedArgs;
|
|
44820
44854
|
if (args.length !== 0) {
|
|
44821
44855
|
output_manager_default.error(
|
|
44822
|
-
`Invalid number of arguments. Usage: ${
|
|
44856
|
+
`Invalid number of arguments. Usage: ${import_chalk168.default.cyan(
|
|
44823
44857
|
`${getCommandName("project ls")}`
|
|
44824
44858
|
)}`
|
|
44825
44859
|
);
|
|
@@ -44829,7 +44863,7 @@ async function list11(client, argv) {
|
|
|
44829
44863
|
const { contextName } = await getScope(client, {
|
|
44830
44864
|
resolveLocalScope: true
|
|
44831
44865
|
});
|
|
44832
|
-
output_manager_default.spinner(`Fetching projects in ${
|
|
44866
|
+
output_manager_default.spinner(`Fetching projects in ${import_chalk168.default.bold(contextName)}`);
|
|
44833
44867
|
const flags = processFlags(opts, telemetryClient);
|
|
44834
44868
|
if ("error" in flags) {
|
|
44835
44869
|
output_manager_default.stopSpinner();
|
|
@@ -44917,7 +44951,7 @@ function outputJson5(client, projectList, metadata) {
|
|
|
44917
44951
|
function outputTable(projectList, options) {
|
|
44918
44952
|
const { contextName, elapsed: elapsed2, deprecated, opts, pagination } = options;
|
|
44919
44953
|
output_manager_default.log(
|
|
44920
|
-
`${projectList.length > 0 ? "Projects" : "No projects"} found under ${
|
|
44954
|
+
`${projectList.length > 0 ? "Projects" : "No projects"} found under ${import_chalk168.default.bold(contextName)} ${deprecated ? "that are using a deprecated Node.js version" : "\b"} ${import_chalk168.default.gray(`[${elapsed2}]`)}`
|
|
44921
44955
|
);
|
|
44922
44956
|
if (projectList.length > 0) {
|
|
44923
44957
|
printProjectsTable(projectList);
|
|
@@ -44927,12 +44961,12 @@ function outputTable(projectList, options) {
|
|
|
44927
44961
|
function printProjectsTable(projectList) {
|
|
44928
44962
|
const tablePrint = table(
|
|
44929
44963
|
[
|
|
44930
|
-
TABLE_HEADERS.map((header) =>
|
|
44964
|
+
TABLE_HEADERS.map((header) => import_chalk168.default.bold(import_chalk168.default.cyan(header))),
|
|
44931
44965
|
...projectList.flatMap((project) => [
|
|
44932
44966
|
[
|
|
44933
|
-
|
|
44967
|
+
import_chalk168.default.bold(project.name),
|
|
44934
44968
|
getLatestProdUrl(project),
|
|
44935
|
-
|
|
44969
|
+
import_chalk168.default.gray((0, import_ms22.default)(Date.now() - project.updatedAt)),
|
|
44936
44970
|
project.nodeVersion ?? ""
|
|
44937
44971
|
]
|
|
44938
44972
|
])
|
|
@@ -44959,7 +44993,7 @@ function getLatestProdUrl(project) {
|
|
|
44959
44993
|
}
|
|
44960
44994
|
|
|
44961
44995
|
// src/commands/project/members.ts
|
|
44962
|
-
var
|
|
44996
|
+
var import_chalk169 = __toESM(require_source(), 1);
|
|
44963
44997
|
async function members(client, argv) {
|
|
44964
44998
|
let parsedArgs;
|
|
44965
44999
|
const flagsSpecification = getFlagsSpecification(membersSubcommand.options);
|
|
@@ -45029,7 +45063,7 @@ async function members(client, argv) {
|
|
|
45029
45063
|
return 0;
|
|
45030
45064
|
}
|
|
45031
45065
|
const rows = [
|
|
45032
|
-
["uid", "Identity", "Role", "Team Role"].map((str) => (0,
|
|
45066
|
+
["uid", "Identity", "Role", "Team Role"].map((str) => (0, import_chalk169.gray)(str)),
|
|
45033
45067
|
...projectMembers.map((member) => [
|
|
45034
45068
|
member.uid,
|
|
45035
45069
|
member.username || member.email || "",
|
|
@@ -45043,7 +45077,7 @@ async function members(client, argv) {
|
|
|
45043
45077
|
}
|
|
45044
45078
|
|
|
45045
45079
|
// src/commands/project/access-groups.ts
|
|
45046
|
-
var
|
|
45080
|
+
var import_chalk170 = __toESM(require_source(), 1);
|
|
45047
45081
|
async function accessGroups(client, argv) {
|
|
45048
45082
|
let parsedArgs;
|
|
45049
45083
|
const flagsSpecification = getFlagsSpecification(
|
|
@@ -45116,7 +45150,7 @@ async function accessGroups(client, argv) {
|
|
|
45116
45150
|
return 0;
|
|
45117
45151
|
}
|
|
45118
45152
|
const rows = [
|
|
45119
|
-
["id", "Name", "Role"].map((str) => (0,
|
|
45153
|
+
["id", "Name", "Role"].map((str) => (0, import_chalk170.gray)(str)),
|
|
45120
45154
|
...(result.accessGroups || []).map((group) => [
|
|
45121
45155
|
group.id,
|
|
45122
45156
|
group.name,
|
|
@@ -45129,7 +45163,7 @@ async function accessGroups(client, argv) {
|
|
|
45129
45163
|
}
|
|
45130
45164
|
|
|
45131
45165
|
// src/commands/project/rename.ts
|
|
45132
|
-
var
|
|
45166
|
+
var import_chalk171 = __toESM(require_source(), 1);
|
|
45133
45167
|
var import_ms23 = __toESM(require_ms(), 1);
|
|
45134
45168
|
|
|
45135
45169
|
// src/util/telemetry/commands/project/rename.ts
|
|
@@ -45170,7 +45204,7 @@ async function rename(client, argv) {
|
|
|
45170
45204
|
const { args } = parsedArgs;
|
|
45171
45205
|
if (args.length !== 2) {
|
|
45172
45206
|
output_manager_default.error(
|
|
45173
|
-
`Invalid number of arguments. Usage: ${
|
|
45207
|
+
`Invalid number of arguments. Usage: ${import_chalk171.default.cyan(
|
|
45174
45208
|
`${getCommandName("project rename <name> <new-name>")}`
|
|
45175
45209
|
)}`
|
|
45176
45210
|
);
|
|
@@ -45207,9 +45241,9 @@ async function rename(client, argv) {
|
|
|
45207
45241
|
}
|
|
45208
45242
|
const elapsed2 = (0, import_ms23.default)(Date.now() - start);
|
|
45209
45243
|
output_manager_default.log(
|
|
45210
|
-
`${
|
|
45244
|
+
`${import_chalk171.default.cyan("Success!")} Project ${import_chalk171.default.bold(
|
|
45211
45245
|
project.name
|
|
45212
|
-
)} renamed to ${
|
|
45246
|
+
)} renamed to ${import_chalk171.default.bold(renamedProject.name)} ${import_chalk171.default.gray(
|
|
45213
45247
|
`[${elapsed2}]`
|
|
45214
45248
|
)}`
|
|
45215
45249
|
);
|
|
@@ -45217,7 +45251,7 @@ async function rename(client, argv) {
|
|
|
45217
45251
|
}
|
|
45218
45252
|
|
|
45219
45253
|
// src/commands/project/rm.ts
|
|
45220
|
-
var
|
|
45254
|
+
var import_chalk172 = __toESM(require_source(), 1);
|
|
45221
45255
|
var import_ms24 = __toESM(require_ms(), 1);
|
|
45222
45256
|
|
|
45223
45257
|
// src/util/telemetry/commands/project/rm.ts
|
|
@@ -45251,7 +45285,7 @@ async function rm8(client, argv) {
|
|
|
45251
45285
|
const { args } = parsedArgs;
|
|
45252
45286
|
if (args.length !== 1) {
|
|
45253
45287
|
output_manager_default.error(
|
|
45254
|
-
`Invalid number of arguments. Usage: ${
|
|
45288
|
+
`Invalid number of arguments. Usage: ${import_chalk172.default.cyan(
|
|
45255
45289
|
`${getCommandName("project rm <name>")}`
|
|
45256
45290
|
)}`
|
|
45257
45291
|
);
|
|
@@ -45281,7 +45315,7 @@ async function rm8(client, argv) {
|
|
|
45281
45315
|
}
|
|
45282
45316
|
const elapsed2 = (0, import_ms24.default)(Date.now() - start);
|
|
45283
45317
|
output_manager_default.log(
|
|
45284
|
-
`${
|
|
45318
|
+
`${import_chalk172.default.cyan("Success!")} Project ${import_chalk172.default.bold(name)} removed ${import_chalk172.default.gray(
|
|
45285
45319
|
`[${elapsed2}]`
|
|
45286
45320
|
)}`
|
|
45287
45321
|
);
|
|
@@ -45290,20 +45324,20 @@ async function rm8(client, argv) {
|
|
|
45290
45324
|
async function readConfirmation3(client, projectName) {
|
|
45291
45325
|
output_manager_default.print(
|
|
45292
45326
|
prependEmoji(
|
|
45293
|
-
`The project ${
|
|
45327
|
+
`The project ${import_chalk172.default.bold(projectName)} will be removed permanently.
|
|
45294
45328
|
It will also delete everything under the project including deployments.
|
|
45295
45329
|
`,
|
|
45296
45330
|
emoji("warning")
|
|
45297
45331
|
)
|
|
45298
45332
|
);
|
|
45299
45333
|
return await client.input.confirm(
|
|
45300
|
-
`${
|
|
45334
|
+
`${import_chalk172.default.bold.red("Are you sure?")}`,
|
|
45301
45335
|
false
|
|
45302
45336
|
);
|
|
45303
45337
|
}
|
|
45304
45338
|
|
|
45305
45339
|
// src/commands/project/token.ts
|
|
45306
|
-
var
|
|
45340
|
+
var import_chalk173 = __toESM(require_source(), 1);
|
|
45307
45341
|
async function getOidcToken(client, argv) {
|
|
45308
45342
|
const flagsSpecification = getFlagsSpecification(tokenSubcommand2.options);
|
|
45309
45343
|
let parsedArgs;
|
|
@@ -45323,7 +45357,7 @@ async function getOidcToken(client, argv) {
|
|
|
45323
45357
|
client.nonInteractive = true;
|
|
45324
45358
|
if (args.length > 1) {
|
|
45325
45359
|
output_manager_default.error(
|
|
45326
|
-
`Invalid number of arguments. Usage: ${
|
|
45360
|
+
`Invalid number of arguments. Usage: ${import_chalk173.default.cyan(
|
|
45327
45361
|
`${getCommandName("project token <name>")}`
|
|
45328
45362
|
)}`
|
|
45329
45363
|
);
|
|
@@ -45529,7 +45563,7 @@ async function webAnalytics(client, argv) {
|
|
|
45529
45563
|
}
|
|
45530
45564
|
|
|
45531
45565
|
// src/commands/project/protection.ts
|
|
45532
|
-
var
|
|
45566
|
+
var import_chalk174 = __toESM(require_source(), 1);
|
|
45533
45567
|
var PROTECTION_ACTIONS = ["enable", "disable"];
|
|
45534
45568
|
var DEFAULT_SKEW_PROTECTION_MAX_AGE = 2592e3;
|
|
45535
45569
|
var ENABLED_DEPLOYMENT_TYPE = "prod_deployment_urls_and_all_previews";
|
|
@@ -45875,7 +45909,7 @@ async function protection(client, argv) {
|
|
|
45875
45909
|
return 0;
|
|
45876
45910
|
}
|
|
45877
45911
|
output_manager_default.log(
|
|
45878
|
-
`${
|
|
45912
|
+
`${import_chalk174.default.bold("Deployment protection")} ${action === "enable" ? "enabled" : "disabled"} for ${import_chalk174.default.cyan(project.name)}`
|
|
45879
45913
|
);
|
|
45880
45914
|
return 0;
|
|
45881
45915
|
}
|
|
@@ -45894,14 +45928,14 @@ async function protection(client, argv) {
|
|
|
45894
45928
|
return 0;
|
|
45895
45929
|
}
|
|
45896
45930
|
output_manager_default.log(
|
|
45897
|
-
`${
|
|
45931
|
+
`${import_chalk174.default.bold("Protection settings")} for ${import_chalk174.default.cyan(project.name)} (${project.id})`
|
|
45898
45932
|
);
|
|
45899
45933
|
if (Object.keys(slice).length === 0) {
|
|
45900
45934
|
output_manager_default.log("No deployment protection fields returned for this project.");
|
|
45901
45935
|
return 0;
|
|
45902
45936
|
}
|
|
45903
45937
|
for (const [k, v] of Object.entries(slice)) {
|
|
45904
|
-
output_manager_default.log(`${
|
|
45938
|
+
output_manager_default.log(`${import_chalk174.default.cyan(`${k}:`)} ${JSON.stringify(v)}`);
|
|
45905
45939
|
}
|
|
45906
45940
|
return 0;
|
|
45907
45941
|
}
|
|
@@ -46175,10 +46209,10 @@ var import_ms27 = __toESM(require_ms(), 1);
|
|
|
46175
46209
|
var import_error_utils15 = __toESM(require_dist(), 1);
|
|
46176
46210
|
|
|
46177
46211
|
// src/commands/promote/request-promote.ts
|
|
46178
|
-
var
|
|
46212
|
+
var import_chalk178 = __toESM(require_source(), 1);
|
|
46179
46213
|
|
|
46180
46214
|
// src/util/projects/get-project-by-deployment.ts
|
|
46181
|
-
var
|
|
46215
|
+
var import_chalk175 = __toESM(require_source(), 1);
|
|
46182
46216
|
async function getProjectByDeployment({
|
|
46183
46217
|
client,
|
|
46184
46218
|
deployId
|
|
@@ -46194,7 +46228,7 @@ async function getProjectByDeployment({
|
|
|
46194
46228
|
let team;
|
|
46195
46229
|
try {
|
|
46196
46230
|
output_manager_default?.spinner(
|
|
46197
|
-
`Fetching deployment "${deployId}" in ${
|
|
46231
|
+
`Fetching deployment "${deployId}" in ${import_chalk175.default.bold(contextName)}\u2026`
|
|
46198
46232
|
);
|
|
46199
46233
|
const [teamResult, deploymentResult] = await Promise.allSettled([
|
|
46200
46234
|
config.currentTeam ? getTeamById(client, config.currentTeam) : void 0,
|
|
@@ -46211,12 +46245,12 @@ async function getProjectByDeployment({
|
|
|
46211
46245
|
team = teamResult.value;
|
|
46212
46246
|
deployment = deploymentResult.value;
|
|
46213
46247
|
output_manager_default?.log(
|
|
46214
|
-
`Fetching deployment "${deployId}" in ${
|
|
46248
|
+
`Fetching deployment "${deployId}" in ${import_chalk175.default.bold(contextName)}\u2026`
|
|
46215
46249
|
);
|
|
46216
46250
|
if (deployment.team?.id) {
|
|
46217
46251
|
if (!team || deployment.team.id !== team.id) {
|
|
46218
46252
|
const err = new Error(
|
|
46219
|
-
team ? `Deployment doesn't belong to current team ${
|
|
46253
|
+
team ? `Deployment doesn't belong to current team ${import_chalk175.default.bold(
|
|
46220
46254
|
contextName
|
|
46221
46255
|
)}` : `Deployment belongs to a different team`
|
|
46222
46256
|
);
|
|
@@ -46225,7 +46259,7 @@ async function getProjectByDeployment({
|
|
|
46225
46259
|
}
|
|
46226
46260
|
} else if (team) {
|
|
46227
46261
|
const err = new Error(
|
|
46228
|
-
`Deployment doesn't belong to current team ${
|
|
46262
|
+
`Deployment doesn't belong to current team ${import_chalk175.default.bold(contextName)}`
|
|
46229
46263
|
);
|
|
46230
46264
|
err.code = "ERR_INVALID_TEAM";
|
|
46231
46265
|
throw err;
|
|
@@ -46251,22 +46285,22 @@ async function getProjectByDeployment({
|
|
|
46251
46285
|
var import_ms26 = __toESM(require_ms(), 1);
|
|
46252
46286
|
|
|
46253
46287
|
// src/commands/promote/status.ts
|
|
46254
|
-
var
|
|
46288
|
+
var import_chalk177 = __toESM(require_source(), 1);
|
|
46255
46289
|
var import_ms25 = __toESM(require_ms(), 1);
|
|
46256
46290
|
|
|
46257
46291
|
// src/util/alias/render-alias-status.ts
|
|
46258
|
-
var
|
|
46292
|
+
var import_chalk176 = __toESM(require_source(), 1);
|
|
46259
46293
|
function renderAliasStatus(status3) {
|
|
46260
46294
|
if (status3 === "completed") {
|
|
46261
|
-
return
|
|
46295
|
+
return import_chalk176.default.green(status3);
|
|
46262
46296
|
}
|
|
46263
46297
|
if (status3 === "failed") {
|
|
46264
|
-
return
|
|
46298
|
+
return import_chalk176.default.red(status3);
|
|
46265
46299
|
}
|
|
46266
46300
|
if (status3 === "skipped") {
|
|
46267
|
-
return
|
|
46301
|
+
return import_chalk176.default.gray(status3);
|
|
46268
46302
|
}
|
|
46269
|
-
return
|
|
46303
|
+
return import_chalk176.default.yellow(status3);
|
|
46270
46304
|
}
|
|
46271
46305
|
|
|
46272
46306
|
// src/commands/rolling-release/request-rolling-release.ts
|
|
@@ -46367,7 +46401,7 @@ async function promoteStatus({
|
|
|
46367
46401
|
}
|
|
46368
46402
|
if (requestedAt < recentThreshold || Date.now() >= promoteTimeout) {
|
|
46369
46403
|
output_manager_default.log(
|
|
46370
|
-
`The promotion exceeded its deadline - rerun ${
|
|
46404
|
+
`The promotion exceeded its deadline - rerun ${import_chalk177.default.bold(
|
|
46371
46405
|
`${packageName} promote ${toDeploymentId}`
|
|
46372
46406
|
)} to try again`
|
|
46373
46407
|
);
|
|
@@ -46431,16 +46465,16 @@ async function renderJobSucceeded({
|
|
|
46431
46465
|
let deploymentInfo = "";
|
|
46432
46466
|
try {
|
|
46433
46467
|
const deployment = await getDeployment(client, contextName, toDeploymentId);
|
|
46434
|
-
deploymentInfo = `${
|
|
46468
|
+
deploymentInfo = `${import_chalk177.default.bold(deployment.url)} (${toDeploymentId})`;
|
|
46435
46469
|
} catch (err) {
|
|
46436
46470
|
output_manager_default.debug(
|
|
46437
46471
|
`Failed to get deployment url for ${toDeploymentId}: ${err?.toString() || err}`
|
|
46438
46472
|
);
|
|
46439
|
-
deploymentInfo =
|
|
46473
|
+
deploymentInfo = import_chalk177.default.bold(toDeploymentId);
|
|
46440
46474
|
}
|
|
46441
46475
|
const duration = performingPromote ? elapsed(Date.now() - requestedAt) : "";
|
|
46442
46476
|
output_manager_default.log(
|
|
46443
|
-
`Success! ${
|
|
46477
|
+
`Success! ${import_chalk177.default.bold(
|
|
46444
46478
|
project.name
|
|
46445
46479
|
)} was promoted to ${deploymentInfo} ${duration}`
|
|
46446
46480
|
);
|
|
@@ -46488,7 +46522,7 @@ async function requestPromote({
|
|
|
46488
46522
|
}
|
|
46489
46523
|
);
|
|
46490
46524
|
output_manager_default.log(
|
|
46491
|
-
`Successfully created new deployment of ${
|
|
46525
|
+
`Successfully created new deployment of ${import_chalk178.default.bold(project.name)} at ${newDeployment.inspectorUrl}`
|
|
46492
46526
|
);
|
|
46493
46527
|
return 0;
|
|
46494
46528
|
}
|
|
@@ -46509,7 +46543,7 @@ async function requestPromote({
|
|
|
46509
46543
|
}
|
|
46510
46544
|
if (timeout !== void 0 && (0, import_ms26.default)(timeout) === 0) {
|
|
46511
46545
|
output_manager_default.log(
|
|
46512
|
-
`Successfully requested promote of ${
|
|
46546
|
+
`Successfully requested promote of ${import_chalk178.default.bold(project.name)} to ${deployment.url} (${deployment.id})`
|
|
46513
46547
|
);
|
|
46514
46548
|
output_manager_default.log(`To check promote status, run ${getCommandName("promote")}.`);
|
|
46515
46549
|
return 0;
|
|
@@ -46631,11 +46665,11 @@ var promote_default = async (client) => {
|
|
|
46631
46665
|
};
|
|
46632
46666
|
|
|
46633
46667
|
// src/commands/redeploy/index.ts
|
|
46634
|
-
var
|
|
46668
|
+
var import_chalk180 = __toESM(require_source(), 1);
|
|
46635
46669
|
var import_client = __toESM(require_dist2(), 1);
|
|
46636
46670
|
|
|
46637
46671
|
// src/util/deploy/get-deployment-by-id-or-url.ts
|
|
46638
|
-
var
|
|
46672
|
+
var import_chalk179 = __toESM(require_source(), 1);
|
|
46639
46673
|
async function getDeploymentByIdOrURL({
|
|
46640
46674
|
client,
|
|
46641
46675
|
contextName,
|
|
@@ -46651,7 +46685,7 @@ async function getDeploymentByIdOrURL({
|
|
|
46651
46685
|
let team;
|
|
46652
46686
|
try {
|
|
46653
46687
|
output_manager_default.spinner(
|
|
46654
|
-
`Fetching deployment "${deployIdOrUrl}" in ${
|
|
46688
|
+
`Fetching deployment "${deployIdOrUrl}" in ${import_chalk179.default.bold(contextName)}\u2026`
|
|
46655
46689
|
);
|
|
46656
46690
|
const [teamResult, deploymentResult] = await Promise.allSettled([
|
|
46657
46691
|
config.currentTeam ? getTeamById(client, config.currentTeam) : void 0,
|
|
@@ -46668,7 +46702,7 @@ async function getDeploymentByIdOrURL({
|
|
|
46668
46702
|
team = teamResult.value;
|
|
46669
46703
|
deployment = deploymentResult.value;
|
|
46670
46704
|
output_manager_default.log(
|
|
46671
|
-
`Fetching deployment "${deployIdOrUrl}" in ${
|
|
46705
|
+
`Fetching deployment "${deployIdOrUrl}" in ${import_chalk179.default.bold(contextName)}\u2026`
|
|
46672
46706
|
);
|
|
46673
46707
|
} finally {
|
|
46674
46708
|
output_manager_default.stopSpinner();
|
|
@@ -46676,7 +46710,7 @@ async function getDeploymentByIdOrURL({
|
|
|
46676
46710
|
if (deployment.team?.id) {
|
|
46677
46711
|
if (!team || deployment.team.id !== team.id) {
|
|
46678
46712
|
const err = new Error(
|
|
46679
|
-
team ? `Deployment doesn't belong to current team ${
|
|
46713
|
+
team ? `Deployment doesn't belong to current team ${import_chalk179.default.bold(
|
|
46680
46714
|
contextName
|
|
46681
46715
|
)}` : `Deployment belongs to a different team`
|
|
46682
46716
|
);
|
|
@@ -46685,7 +46719,7 @@ async function getDeploymentByIdOrURL({
|
|
|
46685
46719
|
}
|
|
46686
46720
|
} else if (team) {
|
|
46687
46721
|
const err = new Error(
|
|
46688
|
-
`Deployment doesn't belong to current team ${
|
|
46722
|
+
`Deployment doesn't belong to current team ${import_chalk179.default.bold(contextName)}`
|
|
46689
46723
|
);
|
|
46690
46724
|
err.code = "ERR_INVALID_TEAM";
|
|
46691
46725
|
throw err;
|
|
@@ -46814,10 +46848,10 @@ async function redeploy(client) {
|
|
|
46814
46848
|
if (customEnvironmentSlugOrId && customEnvironment) {
|
|
46815
46849
|
isProdDeployment = customEnvironment.type === "production";
|
|
46816
46850
|
}
|
|
46817
|
-
printAlignedLabel("Inspect",
|
|
46851
|
+
printAlignedLabel("Inspect", import_chalk180.default.cyan(deployment.inspectorUrl));
|
|
46818
46852
|
printAlignedLabel(
|
|
46819
46853
|
isProdDeployment ? "Production" : "Preview",
|
|
46820
|
-
|
|
46854
|
+
import_chalk180.default.cyan(previewUrl),
|
|
46821
46855
|
isProdDeployment && noWait ? { gutter: "\u25B2" } : {}
|
|
46822
46856
|
);
|
|
46823
46857
|
if (!client.stdout.isTTY) {
|
|
@@ -46840,7 +46874,7 @@ async function redeploy(client) {
|
|
|
46840
46874
|
output_manager_default.stopSpinner();
|
|
46841
46875
|
const primaryDomain = deployment.alias[0];
|
|
46842
46876
|
const prodUrl = `https://${primaryDomain}`;
|
|
46843
|
-
printAlignedLabel("Aliased",
|
|
46877
|
+
printAlignedLabel("Aliased", import_chalk180.default.cyan(prodUrl), { gutter: "\u25B2" });
|
|
46844
46878
|
}
|
|
46845
46879
|
} else {
|
|
46846
46880
|
try {
|
|
@@ -46874,7 +46908,7 @@ async function redeploy(client) {
|
|
|
46874
46908
|
if (event.type === "alias-assigned" && !Array.isArray(event.payload) && event.payload.target === "production" && event.payload.alias && event.payload.alias.length > 0) {
|
|
46875
46909
|
const primaryDomain = event.payload.alias[0];
|
|
46876
46910
|
const prodUrl = `https://${primaryDomain}`;
|
|
46877
|
-
printAlignedLabel("Aliased",
|
|
46911
|
+
printAlignedLabel("Aliased", import_chalk180.default.cyan(prodUrl), {
|
|
46878
46912
|
gutter: "\u25B2"
|
|
46879
46913
|
});
|
|
46880
46914
|
}
|
|
@@ -46913,7 +46947,7 @@ async function redeploy(client) {
|
|
|
46913
46947
|
output_manager_default.prettyError(err);
|
|
46914
46948
|
if ((0, import_error_utils16.isErrnoException)(err) && err.code === "ERR_INVALID_TEAM") {
|
|
46915
46949
|
output_manager_default.error(
|
|
46916
|
-
`Use ${
|
|
46950
|
+
`Use ${import_chalk180.default.bold("vc switch")} to change your current team`
|
|
46917
46951
|
);
|
|
46918
46952
|
}
|
|
46919
46953
|
return 1;
|
|
@@ -46921,7 +46955,7 @@ async function redeploy(client) {
|
|
|
46921
46955
|
}
|
|
46922
46956
|
|
|
46923
46957
|
// src/commands/redirects/list.ts
|
|
46924
|
-
var
|
|
46958
|
+
var import_chalk181 = __toESM(require_source(), 1);
|
|
46925
46959
|
var import_pluralize10 = __toESM(require_pluralize(), 1);
|
|
46926
46960
|
|
|
46927
46961
|
// src/commands/redirects/shared.ts
|
|
@@ -47108,7 +47142,7 @@ async function list12(client, argv) {
|
|
|
47108
47142
|
const stagingVersion = versions.find((v) => v.isStaging);
|
|
47109
47143
|
if (!stagingVersion) {
|
|
47110
47144
|
output_manager_default.error(
|
|
47111
|
-
`No staging version found for ${
|
|
47145
|
+
`No staging version found for ${import_chalk181.default.bold(project.name)}. Run ${import_chalk181.default.cyan(
|
|
47112
47146
|
"vercel redirects list-versions"
|
|
47113
47147
|
)} to see available versions.`
|
|
47114
47148
|
);
|
|
@@ -47132,7 +47166,7 @@ async function list12(client, argv) {
|
|
|
47132
47166
|
);
|
|
47133
47167
|
if (!version) {
|
|
47134
47168
|
output_manager_default.error(
|
|
47135
|
-
`Version "${versionIdFlag}" not found. Run ${
|
|
47169
|
+
`Version "${versionIdFlag}" not found. Run ${import_chalk181.default.cyan(
|
|
47136
47170
|
"vercel redirects list-versions"
|
|
47137
47171
|
)} to see available versions.`
|
|
47138
47172
|
);
|
|
@@ -47142,7 +47176,7 @@ async function list12(client, argv) {
|
|
|
47142
47176
|
versionName = version.name || version.id;
|
|
47143
47177
|
}
|
|
47144
47178
|
const lsStamp = stamp_default();
|
|
47145
|
-
let spinnerMessage = `Fetching redirects for ${
|
|
47179
|
+
let spinnerMessage = `Fetching redirects for ${import_chalk181.default.bold(project.name)}`;
|
|
47146
47180
|
if (versionName) {
|
|
47147
47181
|
spinnerMessage += ` (version: ${versionName})`;
|
|
47148
47182
|
}
|
|
@@ -47163,46 +47197,46 @@ async function list12(client, argv) {
|
|
|
47163
47197
|
const removed = redirects.filter((r) => r.action === "-");
|
|
47164
47198
|
const unchanged = redirects.filter((r) => !r.action);
|
|
47165
47199
|
output_manager_default.log(
|
|
47166
|
-
`Changes in staging version ${
|
|
47200
|
+
`Changes in staging version ${import_chalk181.default.bold(versionName || "")} ${import_chalk181.default.gray(lsStamp())}`
|
|
47167
47201
|
);
|
|
47168
47202
|
if (added.length === 0 && removed.length === 0) {
|
|
47169
47203
|
output_manager_default.log("\n No changes from production version\n");
|
|
47170
47204
|
} else {
|
|
47171
47205
|
if (added.length > 0) {
|
|
47172
47206
|
output_manager_default.print(`
|
|
47173
|
-
${
|
|
47207
|
+
${import_chalk181.default.bold(import_chalk181.default.green(`Added (${added.length}):`))}
|
|
47174
47208
|
`);
|
|
47175
47209
|
output_manager_default.print(formatRedirectsTable(added, "+"));
|
|
47176
47210
|
}
|
|
47177
47211
|
if (removed.length > 0) {
|
|
47178
47212
|
output_manager_default.print(`
|
|
47179
|
-
${
|
|
47213
|
+
${import_chalk181.default.bold(import_chalk181.default.red(`Removed (${removed.length}):`))}
|
|
47180
47214
|
`);
|
|
47181
47215
|
output_manager_default.print(formatRedirectsTable(removed, "-"));
|
|
47182
47216
|
}
|
|
47183
47217
|
if (unchanged.length > 0) {
|
|
47184
47218
|
output_manager_default.print(
|
|
47185
47219
|
`
|
|
47186
|
-
${
|
|
47220
|
+
${import_chalk181.default.gray(`${unchanged.length} redirect${unchanged.length === 1 ? "" : "s"} unchanged`)}
|
|
47187
47221
|
`
|
|
47188
47222
|
);
|
|
47189
47223
|
}
|
|
47190
47224
|
output_manager_default.print("\n");
|
|
47191
47225
|
}
|
|
47192
47226
|
} else {
|
|
47193
|
-
let resultMessage = `${(0, import_pluralize10.default)("Redirect", redirects.length, true)} found for ${
|
|
47227
|
+
let resultMessage = `${(0, import_pluralize10.default)("Redirect", redirects.length, true)} found for ${import_chalk181.default.bold(
|
|
47194
47228
|
project.name
|
|
47195
47229
|
)}`;
|
|
47196
47230
|
if (versionName) {
|
|
47197
|
-
resultMessage += ` ${
|
|
47231
|
+
resultMessage += ` ${import_chalk181.default.gray(`(version: ${versionName})`)}`;
|
|
47198
47232
|
}
|
|
47199
47233
|
if (search2) {
|
|
47200
47234
|
resultMessage += ` matching "${search2}"`;
|
|
47201
47235
|
}
|
|
47202
47236
|
if (pagination) {
|
|
47203
|
-
resultMessage += ` ${
|
|
47237
|
+
resultMessage += ` ${import_chalk181.default.gray(`(page ${pagination.page} of ${pagination.numPages})`)}`;
|
|
47204
47238
|
}
|
|
47205
|
-
resultMessage += ` ${
|
|
47239
|
+
resultMessage += ` ${import_chalk181.default.gray(lsStamp())}`;
|
|
47206
47240
|
output_manager_default.log(resultMessage);
|
|
47207
47241
|
if (client.nonInteractive && redirects.length === 0 && !staging && !versionIdFlag) {
|
|
47208
47242
|
output_manager_default.log(
|
|
@@ -47231,7 +47265,7 @@ function formatRedirectsTable(redirects, actionSymbol) {
|
|
|
47231
47265
|
const rows = redirects.map((redirect) => {
|
|
47232
47266
|
const status3 = redirect.statusCode || (redirect.permanent ? 308 : 307);
|
|
47233
47267
|
const prefix = actionSymbol || "";
|
|
47234
|
-
const colorFn = actionSymbol === "+" ?
|
|
47268
|
+
const colorFn = actionSymbol === "+" ? import_chalk181.default.green : actionSymbol === "-" ? import_chalk181.default.red : (s) => s;
|
|
47235
47269
|
return [
|
|
47236
47270
|
colorFn(`${prefix} ${redirect.source}`),
|
|
47237
47271
|
colorFn(`${redirect.destination}`),
|
|
@@ -47246,7 +47280,7 @@ function formatRedirectsTable(redirects, actionSymbol) {
|
|
|
47246
47280
|
}
|
|
47247
47281
|
|
|
47248
47282
|
// src/commands/redirects/list-versions.ts
|
|
47249
|
-
var
|
|
47283
|
+
var import_chalk182 = __toESM(require_source(), 1);
|
|
47250
47284
|
var import_ms28 = __toESM(require_ms(), 1);
|
|
47251
47285
|
var import_pluralize11 = __toESM(require_pluralize(), 1);
|
|
47252
47286
|
async function listVersions(client, argv) {
|
|
@@ -47259,13 +47293,13 @@ async function listVersions(client, argv) {
|
|
|
47259
47293
|
const { project, org } = link;
|
|
47260
47294
|
const teamId = org.type === "team" ? org.id : void 0;
|
|
47261
47295
|
const lsStamp = stamp_default();
|
|
47262
|
-
output_manager_default.spinner(`Fetching redirect versions for ${
|
|
47296
|
+
output_manager_default.spinner(`Fetching redirect versions for ${import_chalk182.default.bold(project.name)}`);
|
|
47263
47297
|
const { versions } = await getRedirectVersions(client, project.id, teamId);
|
|
47264
47298
|
const sortedVersions = sortVersions(versions).slice(0, 20);
|
|
47265
47299
|
output_manager_default.log(
|
|
47266
|
-
`${(0, import_pluralize11.default)("Version", sortedVersions.length, true)} found for ${
|
|
47300
|
+
`${(0, import_pluralize11.default)("Version", sortedVersions.length, true)} found for ${import_chalk182.default.bold(
|
|
47267
47301
|
project.name
|
|
47268
|
-
)} ${
|
|
47302
|
+
)} ${import_chalk182.default.gray(lsStamp())}`
|
|
47269
47303
|
);
|
|
47270
47304
|
if (sortedVersions.length > 0) {
|
|
47271
47305
|
output_manager_default.print(formatVersionsTable(sortedVersions));
|
|
@@ -47292,21 +47326,21 @@ function formatVersionsTable(versions) {
|
|
|
47292
47326
|
const age = (0, import_ms28.default)(now - version.lastModified);
|
|
47293
47327
|
let status3 = "";
|
|
47294
47328
|
if (version.isStaging) {
|
|
47295
|
-
status3 =
|
|
47329
|
+
status3 = import_chalk182.default.yellow("Staging");
|
|
47296
47330
|
} else if (version.isLive) {
|
|
47297
|
-
status3 =
|
|
47331
|
+
status3 = import_chalk182.default.green("Live");
|
|
47298
47332
|
} else {
|
|
47299
|
-
status3 =
|
|
47333
|
+
status3 = import_chalk182.default.gray("Previous");
|
|
47300
47334
|
}
|
|
47301
|
-
const name = version.name ||
|
|
47302
|
-
const redirectCountStr = version.redirectCount !== void 0 && version.redirectCount !== null ? version.redirectCount.toString() :
|
|
47335
|
+
const name = version.name || import_chalk182.default.gray("(unnamed)");
|
|
47336
|
+
const redirectCountStr = version.redirectCount !== void 0 && version.redirectCount !== null ? version.redirectCount.toString() : import_chalk182.default.gray("-");
|
|
47303
47337
|
return [
|
|
47304
47338
|
status3,
|
|
47305
47339
|
name,
|
|
47306
47340
|
version.id,
|
|
47307
47341
|
redirectCountStr,
|
|
47308
|
-
version.createdBy ||
|
|
47309
|
-
|
|
47342
|
+
version.createdBy || import_chalk182.default.gray("(unknown)"),
|
|
47343
|
+
import_chalk182.default.gray(age + " ago")
|
|
47310
47344
|
];
|
|
47311
47345
|
});
|
|
47312
47346
|
return formatTable(
|
|
@@ -47317,7 +47351,7 @@ function formatVersionsTable(versions) {
|
|
|
47317
47351
|
}
|
|
47318
47352
|
|
|
47319
47353
|
// src/commands/redirects/add.ts
|
|
47320
|
-
var
|
|
47354
|
+
var import_chalk183 = __toESM(require_source(), 1);
|
|
47321
47355
|
|
|
47322
47356
|
// src/util/redirects/put-redirects.ts
|
|
47323
47357
|
async function putRedirects(client, projectId, redirects, teamId, name) {
|
|
@@ -47604,11 +47638,11 @@ async function add10(client, argv) {
|
|
|
47604
47638
|
`);
|
|
47605
47639
|
return 0;
|
|
47606
47640
|
}
|
|
47607
|
-
output_manager_default.log(`${
|
|
47641
|
+
output_manager_default.log(`${import_chalk183.default.cyan("\u2713")} Redirect added ${import_chalk183.default.gray(addStamp())}`);
|
|
47608
47642
|
output_manager_default.print(`
|
|
47609
|
-
${
|
|
47643
|
+
${import_chalk183.default.bold("Redirect:")}
|
|
47610
47644
|
`);
|
|
47611
|
-
output_manager_default.print(` ${
|
|
47645
|
+
output_manager_default.print(` ${import_chalk183.default.cyan(source)} \u2192 ${import_chalk183.default.cyan(destination)}
|
|
47612
47646
|
`);
|
|
47613
47647
|
output_manager_default.print(` Status: ${statusCode}
|
|
47614
47648
|
`);
|
|
@@ -47622,12 +47656,12 @@ async function add10(client, argv) {
|
|
|
47622
47656
|
const testUrl = source.startsWith("/") ? `https://${alias2}${source}` : `https://${alias2}`;
|
|
47623
47657
|
output_manager_default.print(
|
|
47624
47658
|
`
|
|
47625
|
-
${
|
|
47659
|
+
${import_chalk183.default.bold("Test your changes:")} ${import_chalk183.default.cyan(testUrl)}
|
|
47626
47660
|
`
|
|
47627
47661
|
);
|
|
47628
47662
|
}
|
|
47629
47663
|
const newVersionName = version.name || version.id;
|
|
47630
|
-
output_manager_default.print(` ${
|
|
47664
|
+
output_manager_default.print(` ${import_chalk183.default.bold("New staging version:")} ${newVersionName}
|
|
47631
47665
|
|
|
47632
47666
|
`);
|
|
47633
47667
|
if (!existingStagingVersion) {
|
|
@@ -47646,19 +47680,19 @@ async function add10(client, argv) {
|
|
|
47646
47680
|
teamId
|
|
47647
47681
|
);
|
|
47648
47682
|
output_manager_default.log(
|
|
47649
|
-
`${
|
|
47683
|
+
`${import_chalk183.default.cyan("\u2713")} Version promoted to production ${import_chalk183.default.gray(promoteStamp())}`
|
|
47650
47684
|
);
|
|
47651
47685
|
}
|
|
47652
47686
|
} else {
|
|
47653
47687
|
output_manager_default.warn(
|
|
47654
|
-
`There are other staged changes. Please review all changes with ${
|
|
47688
|
+
`There are other staged changes. Please review all changes with ${import_chalk183.default.cyan("vercel redirects list --staging")} before promoting to production.`
|
|
47655
47689
|
);
|
|
47656
47690
|
}
|
|
47657
47691
|
return 0;
|
|
47658
47692
|
}
|
|
47659
47693
|
|
|
47660
47694
|
// src/commands/redirects/upload.ts
|
|
47661
|
-
var
|
|
47695
|
+
var import_chalk184 = __toESM(require_source(), 1);
|
|
47662
47696
|
import { readFileSync as readFileSync4 } from "fs";
|
|
47663
47697
|
import { basename as basename2 } from "path";
|
|
47664
47698
|
|
|
@@ -47985,7 +48019,7 @@ async function upload(client, argv) {
|
|
|
47985
48019
|
return 0;
|
|
47986
48020
|
}
|
|
47987
48021
|
output_manager_default.log(
|
|
47988
|
-
`${
|
|
48022
|
+
`${import_chalk184.default.cyan("\u2713")} Redirects uploaded ${import_chalk184.default.gray(uploadStamp())}`
|
|
47989
48023
|
);
|
|
47990
48024
|
output_manager_default.spinner("Fetching diff");
|
|
47991
48025
|
const { redirects } = await getRedirects(client, project.id, {
|
|
@@ -47995,7 +48029,7 @@ async function upload(client, argv) {
|
|
|
47995
48029
|
});
|
|
47996
48030
|
const redirectCount = redirects.length;
|
|
47997
48031
|
output_manager_default.print(`
|
|
47998
|
-
${
|
|
48032
|
+
${import_chalk184.default.bold("Summary:")}
|
|
47999
48033
|
`);
|
|
48000
48034
|
output_manager_default.print(
|
|
48001
48035
|
` Uploaded ${redirectCount} redirect${redirectCount === 1 ? "" : "s"}
|
|
@@ -48006,22 +48040,22 @@ async function upload(client, argv) {
|
|
|
48006
48040
|
const deleted = redirects.filter((r) => r.action === "-");
|
|
48007
48041
|
const edited = redirects.filter((r) => r.action === "~");
|
|
48008
48042
|
output_manager_default.print(`
|
|
48009
|
-
${
|
|
48043
|
+
${import_chalk184.default.bold("Changes:")}
|
|
48010
48044
|
`);
|
|
48011
48045
|
if (added.length > 0) {
|
|
48012
|
-
output_manager_default.print(` ${
|
|
48046
|
+
output_manager_default.print(` ${import_chalk184.default.green(`Added: ${added.length}`)}
|
|
48013
48047
|
`);
|
|
48014
48048
|
}
|
|
48015
48049
|
if (deleted.length > 0) {
|
|
48016
|
-
output_manager_default.print(` ${
|
|
48050
|
+
output_manager_default.print(` ${import_chalk184.default.red(`Deleted: ${deleted.length}`)}
|
|
48017
48051
|
`);
|
|
48018
48052
|
}
|
|
48019
48053
|
if (edited.length > 0) {
|
|
48020
|
-
output_manager_default.print(` ${
|
|
48054
|
+
output_manager_default.print(` ${import_chalk184.default.yellow(`Modified: ${edited.length}`)}
|
|
48021
48055
|
`);
|
|
48022
48056
|
}
|
|
48023
48057
|
output_manager_default.print(`
|
|
48024
|
-
${
|
|
48058
|
+
${import_chalk184.default.bold("Redirect changes:")}
|
|
48025
48059
|
`);
|
|
48026
48060
|
const displayRedirects = redirects.slice(0, 100);
|
|
48027
48061
|
const rows = displayRedirects.map((redirect) => {
|
|
@@ -48031,15 +48065,15 @@ async function upload(client, argv) {
|
|
|
48031
48065
|
let actionSymbol;
|
|
48032
48066
|
switch (action) {
|
|
48033
48067
|
case "+":
|
|
48034
|
-
colorFn =
|
|
48068
|
+
colorFn = import_chalk184.default.green;
|
|
48035
48069
|
actionSymbol = "+";
|
|
48036
48070
|
break;
|
|
48037
48071
|
case "-":
|
|
48038
|
-
colorFn =
|
|
48072
|
+
colorFn = import_chalk184.default.red;
|
|
48039
48073
|
actionSymbol = "-";
|
|
48040
48074
|
break;
|
|
48041
48075
|
case "~":
|
|
48042
|
-
colorFn =
|
|
48076
|
+
colorFn = import_chalk184.default.yellow;
|
|
48043
48077
|
actionSymbol = "~";
|
|
48044
48078
|
break;
|
|
48045
48079
|
default:
|
|
@@ -48062,7 +48096,7 @@ async function upload(client, argv) {
|
|
|
48062
48096
|
if (redirectCount > 100) {
|
|
48063
48097
|
output_manager_default.print(
|
|
48064
48098
|
`
|
|
48065
|
-
${
|
|
48099
|
+
${import_chalk184.default.gray(`... and ${redirectCount - 100} more redirect${redirectCount - 100 === 1 ? "" : "s"}`)}
|
|
48066
48100
|
`
|
|
48067
48101
|
);
|
|
48068
48102
|
}
|
|
@@ -48071,19 +48105,19 @@ async function upload(client, argv) {
|
|
|
48071
48105
|
const testUrl = `https://${result.alias}`;
|
|
48072
48106
|
output_manager_default.print(
|
|
48073
48107
|
`
|
|
48074
|
-
${
|
|
48108
|
+
${import_chalk184.default.bold("Test your changes:")} ${import_chalk184.default.cyan(testUrl)}
|
|
48075
48109
|
`
|
|
48076
48110
|
);
|
|
48077
48111
|
}
|
|
48078
48112
|
const newVersionName = result.version.name || result.version.id;
|
|
48079
48113
|
output_manager_default.print(
|
|
48080
|
-
` ${
|
|
48114
|
+
` ${import_chalk184.default.bold("New staging version:")} ${newVersionName}
|
|
48081
48115
|
|
|
48082
48116
|
`
|
|
48083
48117
|
);
|
|
48084
48118
|
if (existingStagingVersion) {
|
|
48085
48119
|
output_manager_default.warn(
|
|
48086
|
-
`There are other staged changes. Please review all changes with ${
|
|
48120
|
+
`There are other staged changes. Please review all changes with ${import_chalk184.default.cyan("vercel redirects list --staging")} before promoting to production.`
|
|
48087
48121
|
);
|
|
48088
48122
|
} else if (!skipPrompts && !client.nonInteractive) {
|
|
48089
48123
|
const shouldPromote = await client.input.confirm(
|
|
@@ -48101,12 +48135,12 @@ async function upload(client, argv) {
|
|
|
48101
48135
|
teamId
|
|
48102
48136
|
);
|
|
48103
48137
|
output_manager_default.log(
|
|
48104
|
-
`${
|
|
48138
|
+
`${import_chalk184.default.cyan("\u2713")} Version promoted to production ${import_chalk184.default.gray(promoteStamp())}`
|
|
48105
48139
|
);
|
|
48106
48140
|
}
|
|
48107
48141
|
} else if (!existingStagingVersion && client.nonInteractive) {
|
|
48108
48142
|
output_manager_default.print(
|
|
48109
|
-
` Run ${
|
|
48143
|
+
` Run ${import_chalk184.default.cyan(`vercel redirects promote ${result.version.id} --yes`)} to promote this staging version to production.
|
|
48110
48144
|
|
|
48111
48145
|
`
|
|
48112
48146
|
);
|
|
@@ -48119,7 +48153,7 @@ async function upload(client, argv) {
|
|
|
48119
48153
|
}
|
|
48120
48154
|
|
|
48121
48155
|
// src/commands/redirects/remove.ts
|
|
48122
|
-
var
|
|
48156
|
+
var import_chalk185 = __toESM(require_source(), 1);
|
|
48123
48157
|
|
|
48124
48158
|
// src/util/redirects/delete-redirects.ts
|
|
48125
48159
|
async function deleteRedirects(client, projectId, sources, teamId) {
|
|
@@ -48203,7 +48237,7 @@ async function remove7(client, argv) {
|
|
|
48203
48237
|
);
|
|
48204
48238
|
}
|
|
48205
48239
|
output_manager_default.error(
|
|
48206
|
-
`Redirect with source "${source}" not found. Run ${
|
|
48240
|
+
`Redirect with source "${source}" not found. Run ${import_chalk185.default.cyan(
|
|
48207
48241
|
"vercel redirects list"
|
|
48208
48242
|
)} to see available redirects.`
|
|
48209
48243
|
);
|
|
@@ -48225,10 +48259,10 @@ async function remove7(client, argv) {
|
|
|
48225
48259
|
return 1;
|
|
48226
48260
|
}
|
|
48227
48261
|
output_manager_default.print(`
|
|
48228
|
-
${
|
|
48262
|
+
${import_chalk185.default.bold("Removing redirect:")}
|
|
48229
48263
|
`);
|
|
48230
48264
|
output_manager_default.print(
|
|
48231
|
-
` ${
|
|
48265
|
+
` ${import_chalk185.default.cyan(redirectToRemove.source)} \u2192 ${import_chalk185.default.cyan(redirectToRemove.destination)}
|
|
48232
48266
|
`
|
|
48233
48267
|
);
|
|
48234
48268
|
const status3 = redirectToRemove.statusCode || (redirectToRemove.permanent ? 308 : 307);
|
|
@@ -48246,7 +48280,7 @@ async function remove7(client, argv) {
|
|
|
48246
48280
|
return 0;
|
|
48247
48281
|
}
|
|
48248
48282
|
const removeStamp = stamp_default();
|
|
48249
|
-
output_manager_default.spinner(`Removing redirect for ${
|
|
48283
|
+
output_manager_default.spinner(`Removing redirect for ${import_chalk185.default.bold(source)}`);
|
|
48250
48284
|
const { alias: alias2, version } = await deleteRedirects(
|
|
48251
48285
|
client,
|
|
48252
48286
|
project.id,
|
|
@@ -48286,13 +48320,13 @@ async function remove7(client, argv) {
|
|
|
48286
48320
|
return 0;
|
|
48287
48321
|
}
|
|
48288
48322
|
output_manager_default.log(
|
|
48289
|
-
`${
|
|
48323
|
+
`${import_chalk185.default.cyan("\u2713")} Redirect removed ${import_chalk185.default.gray(removeStamp())}`
|
|
48290
48324
|
);
|
|
48291
48325
|
if (alias2) {
|
|
48292
48326
|
const testUrl = source.startsWith("/") ? `https://${alias2}${source}` : `https://${alias2}`;
|
|
48293
48327
|
output_manager_default.print(
|
|
48294
48328
|
`
|
|
48295
|
-
${
|
|
48329
|
+
${import_chalk185.default.bold("Test your changes:")} ${import_chalk185.default.cyan(testUrl)}
|
|
48296
48330
|
`
|
|
48297
48331
|
);
|
|
48298
48332
|
output_manager_default.print(
|
|
@@ -48301,7 +48335,7 @@ async function remove7(client, argv) {
|
|
|
48301
48335
|
);
|
|
48302
48336
|
}
|
|
48303
48337
|
const versionName = version.name || version.id;
|
|
48304
|
-
output_manager_default.print(` ${
|
|
48338
|
+
output_manager_default.print(` ${import_chalk185.default.bold("New staging version:")} ${versionName}
|
|
48305
48339
|
|
|
48306
48340
|
`);
|
|
48307
48341
|
if (!existingStagingVersion) {
|
|
@@ -48320,19 +48354,19 @@ async function remove7(client, argv) {
|
|
|
48320
48354
|
teamId
|
|
48321
48355
|
);
|
|
48322
48356
|
output_manager_default.log(
|
|
48323
|
-
`${
|
|
48357
|
+
`${import_chalk185.default.cyan("\u2713")} Version promoted to production ${import_chalk185.default.gray(promoteStamp())}`
|
|
48324
48358
|
);
|
|
48325
48359
|
}
|
|
48326
48360
|
} else {
|
|
48327
48361
|
output_manager_default.warn(
|
|
48328
|
-
`There are other staged changes. Review them with ${
|
|
48362
|
+
`There are other staged changes. Review them with ${import_chalk185.default.cyan("vercel redirects list --staging")} before promoting to production.`
|
|
48329
48363
|
);
|
|
48330
48364
|
}
|
|
48331
48365
|
return 0;
|
|
48332
48366
|
}
|
|
48333
48367
|
|
|
48334
48368
|
// src/commands/redirects/promote.ts
|
|
48335
|
-
var
|
|
48369
|
+
var import_chalk186 = __toESM(require_source(), 1);
|
|
48336
48370
|
async function promote(client, argv) {
|
|
48337
48371
|
const parsed = await parseSubcommandArgs3(argv, promoteSubcommand);
|
|
48338
48372
|
if (typeof parsed === "number")
|
|
@@ -48379,7 +48413,7 @@ async function promote(client, argv) {
|
|
|
48379
48413
|
const { project, org } = link;
|
|
48380
48414
|
const teamId = org.type === "team" ? org.id : void 0;
|
|
48381
48415
|
const [versionIdentifier] = parsed.args;
|
|
48382
|
-
output_manager_default.spinner(`Fetching redirect versions for ${
|
|
48416
|
+
output_manager_default.spinner(`Fetching redirect versions for ${import_chalk186.default.bold(project.name)}`);
|
|
48383
48417
|
const { versions } = await getRedirectVersions(client, project.id, teamId);
|
|
48384
48418
|
const version = versions.find(
|
|
48385
48419
|
(v) => v.id === versionIdentifier || v.name === versionIdentifier
|
|
@@ -48411,7 +48445,7 @@ async function promote(client, argv) {
|
|
|
48411
48445
|
return 1;
|
|
48412
48446
|
}
|
|
48413
48447
|
output_manager_default.error(
|
|
48414
|
-
`Version with ID or name "${versionIdentifier}" not found. Run ${
|
|
48448
|
+
`Version with ID or name "${versionIdentifier}" not found. Run ${import_chalk186.default.cyan(
|
|
48415
48449
|
"vercel redirects list-versions"
|
|
48416
48450
|
)} to see available versions.`
|
|
48417
48451
|
);
|
|
@@ -48431,7 +48465,7 @@ async function promote(client, argv) {
|
|
|
48431
48465
|
return 1;
|
|
48432
48466
|
}
|
|
48433
48467
|
output_manager_default.error(
|
|
48434
|
-
`Version ${
|
|
48468
|
+
`Version ${import_chalk186.default.bold(version.name || version.id)} is already live.`
|
|
48435
48469
|
);
|
|
48436
48470
|
return 1;
|
|
48437
48471
|
}
|
|
@@ -48462,10 +48496,10 @@ async function promote(client, argv) {
|
|
|
48462
48496
|
return 1;
|
|
48463
48497
|
}
|
|
48464
48498
|
output_manager_default.error(
|
|
48465
|
-
`Version ${
|
|
48499
|
+
`Version ${import_chalk186.default.bold(
|
|
48466
48500
|
version.name || version.id
|
|
48467
48501
|
)} is not staged. Only staging versions can be promoted to production.
|
|
48468
|
-
Run ${
|
|
48502
|
+
Run ${import_chalk186.default.cyan(
|
|
48469
48503
|
"vercel redirects list-versions"
|
|
48470
48504
|
)} to see which version is currently staged.`
|
|
48471
48505
|
);
|
|
@@ -48483,13 +48517,13 @@ Run ${import_chalk185.default.cyan(
|
|
|
48483
48517
|
);
|
|
48484
48518
|
if (changedRedirects.length > 0) {
|
|
48485
48519
|
output_manager_default.print(`
|
|
48486
|
-
${
|
|
48520
|
+
${import_chalk186.default.bold("Changes to be promoted:")}
|
|
48487
48521
|
|
|
48488
48522
|
`);
|
|
48489
48523
|
const displayRedirects = changedRedirects.slice(0, 20);
|
|
48490
48524
|
for (const redirect of displayRedirects) {
|
|
48491
48525
|
const status3 = redirect.statusCode || (redirect.permanent ? 308 : 307);
|
|
48492
|
-
const symbol = redirect.action === "+" ?
|
|
48526
|
+
const symbol = redirect.action === "+" ? import_chalk186.default.green("+") : import_chalk186.default.red("-");
|
|
48493
48527
|
output_manager_default.print(
|
|
48494
48528
|
` ${symbol} ${redirect.source} \u2192 ${redirect.destination} (${status3})
|
|
48495
48529
|
`
|
|
@@ -48497,7 +48531,7 @@ ${import_chalk185.default.bold("Changes to be promoted:")}
|
|
|
48497
48531
|
}
|
|
48498
48532
|
if (changedRedirects.length > 20) {
|
|
48499
48533
|
output_manager_default.print(
|
|
48500
|
-
|
|
48534
|
+
import_chalk186.default.gray(`
|
|
48501
48535
|
... and ${changedRedirects.length - 20} more changes
|
|
48502
48536
|
`)
|
|
48503
48537
|
);
|
|
@@ -48506,7 +48540,7 @@ ${import_chalk185.default.bold("Changes to be promoted:")}
|
|
|
48506
48540
|
} else {
|
|
48507
48541
|
output_manager_default.print(
|
|
48508
48542
|
`
|
|
48509
|
-
${
|
|
48543
|
+
${import_chalk186.default.gray("No changes detected from current production version.")}
|
|
48510
48544
|
|
|
48511
48545
|
`
|
|
48512
48546
|
);
|
|
@@ -48529,15 +48563,15 @@ ${import_chalk185.default.gray("No changes detected from current production vers
|
|
|
48529
48563
|
const confirmed = await confirmAction2(
|
|
48530
48564
|
client,
|
|
48531
48565
|
parsed.flags["--yes"],
|
|
48532
|
-
`Promote version ${
|
|
48533
|
-
`This will make it the live version for ${
|
|
48566
|
+
`Promote version ${import_chalk186.default.bold(versionName)} to production?`,
|
|
48567
|
+
`This will make it the live version for ${import_chalk186.default.bold(project.name)}.`
|
|
48534
48568
|
);
|
|
48535
48569
|
if (!confirmed) {
|
|
48536
48570
|
output_manager_default.log("Canceled");
|
|
48537
48571
|
return 0;
|
|
48538
48572
|
}
|
|
48539
48573
|
const updateStamp = stamp_default();
|
|
48540
|
-
output_manager_default.spinner(`Promoting version ${
|
|
48574
|
+
output_manager_default.spinner(`Promoting version ${import_chalk186.default.bold(versionName)} to production`);
|
|
48541
48575
|
const { version: newVersion } = await updateRedirectVersion(
|
|
48542
48576
|
client,
|
|
48543
48577
|
project.id,
|
|
@@ -48546,15 +48580,15 @@ ${import_chalk185.default.gray("No changes detected from current production vers
|
|
|
48546
48580
|
teamId
|
|
48547
48581
|
);
|
|
48548
48582
|
output_manager_default.log(
|
|
48549
|
-
`${
|
|
48583
|
+
`${import_chalk186.default.cyan("\u2713")} Version ${import_chalk186.default.bold(
|
|
48550
48584
|
newVersion.name || newVersion.id
|
|
48551
|
-
)} promoted to production ${
|
|
48585
|
+
)} promoted to production ${import_chalk186.default.gray(updateStamp())}`
|
|
48552
48586
|
);
|
|
48553
48587
|
return 0;
|
|
48554
48588
|
}
|
|
48555
48589
|
|
|
48556
48590
|
// src/commands/redirects/restore.ts
|
|
48557
|
-
var
|
|
48591
|
+
var import_chalk187 = __toESM(require_source(), 1);
|
|
48558
48592
|
async function restore(client, argv) {
|
|
48559
48593
|
const parsed = await parseSubcommandArgs3(argv, restoreSubcommand);
|
|
48560
48594
|
if (typeof parsed === "number")
|
|
@@ -48604,7 +48638,7 @@ async function restore(client, argv) {
|
|
|
48604
48638
|
const { project, org } = link;
|
|
48605
48639
|
const teamId = org.type === "team" ? org.id : void 0;
|
|
48606
48640
|
const [versionIdentifier] = parsed.args;
|
|
48607
|
-
output_manager_default.spinner(`Fetching redirect versions for ${
|
|
48641
|
+
output_manager_default.spinner(`Fetching redirect versions for ${import_chalk187.default.bold(project.name)}`);
|
|
48608
48642
|
const { versions } = await getRedirectVersions(client, project.id, teamId);
|
|
48609
48643
|
const version = versions.find(
|
|
48610
48644
|
(v) => v.id === versionIdentifier || v.name === versionIdentifier
|
|
@@ -48631,7 +48665,7 @@ async function restore(client, argv) {
|
|
|
48631
48665
|
);
|
|
48632
48666
|
}
|
|
48633
48667
|
output_manager_default.error(
|
|
48634
|
-
`Version with ID or name "${versionIdentifier}" not found. Run ${
|
|
48668
|
+
`Version with ID or name "${versionIdentifier}" not found. Run ${import_chalk187.default.cyan(
|
|
48635
48669
|
"vercel redirects list-versions"
|
|
48636
48670
|
)} to see available versions.`
|
|
48637
48671
|
);
|
|
@@ -48659,10 +48693,10 @@ async function restore(client, argv) {
|
|
|
48659
48693
|
);
|
|
48660
48694
|
}
|
|
48661
48695
|
output_manager_default.error(
|
|
48662
|
-
`Version ${
|
|
48696
|
+
`Version ${import_chalk187.default.bold(
|
|
48663
48697
|
version.name || version.id
|
|
48664
48698
|
)} is currently live. You cannot restore the live version.
|
|
48665
|
-
Run ${
|
|
48699
|
+
Run ${import_chalk187.default.cyan(
|
|
48666
48700
|
"vercel redirects list-versions"
|
|
48667
48701
|
)} to see previous versions you can restore.`
|
|
48668
48702
|
);
|
|
@@ -48681,7 +48715,7 @@ Run ${import_chalk186.default.cyan(
|
|
|
48681
48715
|
);
|
|
48682
48716
|
}
|
|
48683
48717
|
output_manager_default.error(
|
|
48684
|
-
`Version ${
|
|
48718
|
+
`Version ${import_chalk187.default.bold(
|
|
48685
48719
|
version.name || version.id
|
|
48686
48720
|
)} is staged. You can only restore previous versions.`
|
|
48687
48721
|
);
|
|
@@ -48699,13 +48733,13 @@ Run ${import_chalk186.default.cyan(
|
|
|
48699
48733
|
);
|
|
48700
48734
|
if (changedRedirects.length > 0) {
|
|
48701
48735
|
output_manager_default.print(`
|
|
48702
|
-
${
|
|
48736
|
+
${import_chalk187.default.bold("Changes to be restored:")}
|
|
48703
48737
|
|
|
48704
48738
|
`);
|
|
48705
48739
|
const displayRedirects = changedRedirects.slice(0, 20);
|
|
48706
48740
|
for (const redirect of displayRedirects) {
|
|
48707
48741
|
const status3 = redirect.statusCode || (redirect.permanent ? 308 : 307);
|
|
48708
|
-
const symbol = redirect.action === "+" ?
|
|
48742
|
+
const symbol = redirect.action === "+" ? import_chalk187.default.green("+") : import_chalk187.default.red("-");
|
|
48709
48743
|
output_manager_default.print(
|
|
48710
48744
|
` ${symbol} ${redirect.source} \u2192 ${redirect.destination} (${status3})
|
|
48711
48745
|
`
|
|
@@ -48713,7 +48747,7 @@ ${import_chalk186.default.bold("Changes to be restored:")}
|
|
|
48713
48747
|
}
|
|
48714
48748
|
if (changedRedirects.length > 20) {
|
|
48715
48749
|
output_manager_default.print(
|
|
48716
|
-
|
|
48750
|
+
import_chalk187.default.gray(`
|
|
48717
48751
|
... and ${changedRedirects.length - 20} more changes
|
|
48718
48752
|
`)
|
|
48719
48753
|
);
|
|
@@ -48722,7 +48756,7 @@ ${import_chalk186.default.bold("Changes to be restored:")}
|
|
|
48722
48756
|
} else {
|
|
48723
48757
|
output_manager_default.print(
|
|
48724
48758
|
`
|
|
48725
|
-
${
|
|
48759
|
+
${import_chalk187.default.gray("No changes detected from current production version.")}
|
|
48726
48760
|
|
|
48727
48761
|
`
|
|
48728
48762
|
);
|
|
@@ -48745,15 +48779,15 @@ ${import_chalk186.default.gray("No changes detected from current production vers
|
|
|
48745
48779
|
const confirmed = await confirmAction2(
|
|
48746
48780
|
client,
|
|
48747
48781
|
parsed.flags["--yes"],
|
|
48748
|
-
`Restore version ${
|
|
48749
|
-
`This will make it the live version for ${
|
|
48782
|
+
`Restore version ${import_chalk187.default.bold(versionName)}?`,
|
|
48783
|
+
`This will make it the live version for ${import_chalk187.default.bold(project.name)}.`
|
|
48750
48784
|
);
|
|
48751
48785
|
if (!confirmed) {
|
|
48752
48786
|
output_manager_default.log("Canceled");
|
|
48753
48787
|
return 0;
|
|
48754
48788
|
}
|
|
48755
48789
|
const updateStamp = stamp_default();
|
|
48756
|
-
output_manager_default.spinner(`Restoring version ${
|
|
48790
|
+
output_manager_default.spinner(`Restoring version ${import_chalk187.default.bold(versionName)}`);
|
|
48757
48791
|
const { version: newVersion } = await updateRedirectVersion(
|
|
48758
48792
|
client,
|
|
48759
48793
|
project.id,
|
|
@@ -48762,9 +48796,9 @@ ${import_chalk186.default.gray("No changes detected from current production vers
|
|
|
48762
48796
|
teamId
|
|
48763
48797
|
);
|
|
48764
48798
|
output_manager_default.log(
|
|
48765
|
-
`${
|
|
48799
|
+
`${import_chalk187.default.cyan("\u2713")} Version ${import_chalk187.default.bold(
|
|
48766
48800
|
newVersion.name || newVersion.id
|
|
48767
|
-
)} restored to production ${
|
|
48801
|
+
)} restored to production ${import_chalk187.default.gray(updateStamp())}`
|
|
48768
48802
|
);
|
|
48769
48803
|
return 0;
|
|
48770
48804
|
}
|
|
@@ -48925,7 +48959,7 @@ async function main26(client) {
|
|
|
48925
48959
|
}
|
|
48926
48960
|
|
|
48927
48961
|
// src/commands/remove/index.ts
|
|
48928
|
-
var
|
|
48962
|
+
var import_chalk188 = __toESM(require_source(), 1);
|
|
48929
48963
|
var import_ms29 = __toESM(require_ms(), 1);
|
|
48930
48964
|
var import_pluralize12 = __toESM(require_pluralize(), 1);
|
|
48931
48965
|
|
|
@@ -49085,7 +49119,7 @@ async function remove8(client) {
|
|
|
49085
49119
|
}
|
|
49086
49120
|
const { contextName } = await getScope(client);
|
|
49087
49121
|
output_manager_default.spinner(
|
|
49088
|
-
`Fetching deployment(s) ${ids.map((id) => `"${id}"`).join(" ")} in ${
|
|
49122
|
+
`Fetching deployment(s) ${ids.map((id) => `"${id}"`).join(" ")} in ${import_chalk188.default.bold(contextName)}`
|
|
49089
49123
|
);
|
|
49090
49124
|
let aliases;
|
|
49091
49125
|
let projects;
|
|
@@ -49151,7 +49185,7 @@ async function remove8(client) {
|
|
|
49151
49185
|
});
|
|
49152
49186
|
if (deployments.length === 0 && projects.length === 0) {
|
|
49153
49187
|
const safeUnaliased = parsedArgs.flags["--safe"] ? "unaliased" : "any";
|
|
49154
|
-
const stylizedIds = ids.map((id) =>
|
|
49188
|
+
const stylizedIds = ids.map((id) => import_chalk188.default.bold(`"${id}"`)).join(", ");
|
|
49155
49189
|
const commandName = getCommandName("projects ls");
|
|
49156
49190
|
log(
|
|
49157
49191
|
`Could not find ${safeUnaliased} deployments or projects matching ${stylizedIds}. Run ${commandName} to list.`
|
|
@@ -49159,7 +49193,7 @@ async function remove8(client) {
|
|
|
49159
49193
|
return 1;
|
|
49160
49194
|
}
|
|
49161
49195
|
log(
|
|
49162
|
-
`Found ${deploymentsAndProjects(deployments, projects)} for removal in ${
|
|
49196
|
+
`Found ${deploymentsAndProjects(deployments, projects)} for removal in ${import_chalk188.default.bold(contextName)} ${elapsed(Date.now() - findStart)}`
|
|
49163
49197
|
);
|
|
49164
49198
|
if (deployments.length > 200) {
|
|
49165
49199
|
output_manager_default.warn(
|
|
@@ -49186,11 +49220,11 @@ async function remove8(client) {
|
|
|
49186
49220
|
`Removed ${deploymentsAndProjects(deployments, projects)} ${elapsed(Date.now() - start)}`
|
|
49187
49221
|
);
|
|
49188
49222
|
deployments.forEach((depl) => {
|
|
49189
|
-
output_manager_default.print(`${
|
|
49223
|
+
output_manager_default.print(`${import_chalk188.default.gray("-")} ${import_chalk188.default.bold(depl.url)}
|
|
49190
49224
|
`);
|
|
49191
49225
|
});
|
|
49192
49226
|
projects.forEach((project) => {
|
|
49193
|
-
output_manager_default.print(`${
|
|
49227
|
+
output_manager_default.print(`${import_chalk188.default.gray("-")} ${import_chalk188.default.bold(project.name)}
|
|
49194
49228
|
`);
|
|
49195
49229
|
});
|
|
49196
49230
|
return 0;
|
|
@@ -49207,8 +49241,8 @@ function readConfirmation4(deployments, projects) {
|
|
|
49207
49241
|
);
|
|
49208
49242
|
const deploymentTable = table(
|
|
49209
49243
|
deployments.map((depl) => {
|
|
49210
|
-
const time =
|
|
49211
|
-
const url = depl.url ?
|
|
49244
|
+
const time = import_chalk188.default.gray(`${(0, import_ms29.default)(Date.now() - depl.createdAt)} ago`);
|
|
49245
|
+
const url = depl.url ? import_chalk188.default.underline(`https://${depl.url}`) : "";
|
|
49212
49246
|
return [` ${depl.id}`, url, time];
|
|
49213
49247
|
}),
|
|
49214
49248
|
{ align: ["l", "r", "l"], hsep: 6 }
|
|
@@ -49219,7 +49253,7 @@ function readConfirmation4(deployments, projects) {
|
|
|
49219
49253
|
for (const depl of deployments) {
|
|
49220
49254
|
for (const { alias: alias2 } of depl.aliases) {
|
|
49221
49255
|
output_manager_default.warn(
|
|
49222
|
-
`${
|
|
49256
|
+
`${import_chalk188.default.underline(`https://${alias2}`)} is an alias for ${import_chalk188.default.bold(depl.url)} and will be removed`
|
|
49223
49257
|
);
|
|
49224
49258
|
}
|
|
49225
49259
|
}
|
|
@@ -49233,12 +49267,12 @@ function readConfirmation4(deployments, projects) {
|
|
|
49233
49267
|
`
|
|
49234
49268
|
);
|
|
49235
49269
|
for (const project of projects) {
|
|
49236
|
-
output_manager_default.print(`${
|
|
49270
|
+
output_manager_default.print(`${import_chalk188.default.gray("-")} ${import_chalk188.default.bold(project.name)}
|
|
49237
49271
|
`);
|
|
49238
49272
|
}
|
|
49239
49273
|
}
|
|
49240
49274
|
output_manager_default.print(
|
|
49241
|
-
`${
|
|
49275
|
+
`${import_chalk188.default.bold.red("> Are you sure?")} ${import_chalk188.default.gray("(y/N) ")}`
|
|
49242
49276
|
);
|
|
49243
49277
|
process.stdin.on("data", (d) => {
|
|
49244
49278
|
process.stdin.pause();
|
|
@@ -49261,11 +49295,11 @@ var import_error_utils17 = __toESM(require_dist(), 1);
|
|
|
49261
49295
|
var import_ms32 = __toESM(require_ms(), 1);
|
|
49262
49296
|
|
|
49263
49297
|
// src/commands/rollback/request-rollback.ts
|
|
49264
|
-
var
|
|
49298
|
+
var import_chalk190 = __toESM(require_source(), 1);
|
|
49265
49299
|
var import_ms31 = __toESM(require_ms(), 1);
|
|
49266
49300
|
|
|
49267
49301
|
// src/commands/rollback/status.ts
|
|
49268
|
-
var
|
|
49302
|
+
var import_chalk189 = __toESM(require_source(), 1);
|
|
49269
49303
|
var import_ms30 = __toESM(require_ms(), 1);
|
|
49270
49304
|
async function rollbackStatus({
|
|
49271
49305
|
client,
|
|
@@ -49336,7 +49370,7 @@ async function rollbackStatus({
|
|
|
49336
49370
|
}
|
|
49337
49371
|
if (requestedAt < recentThreshold || Date.now() >= rollbackTimeout) {
|
|
49338
49372
|
output_manager_default.log(
|
|
49339
|
-
`The rollback exceeded its deadline - rerun ${
|
|
49373
|
+
`The rollback exceeded its deadline - rerun ${import_chalk189.default.bold(
|
|
49340
49374
|
`${packageName} rollback ${toDeploymentId}`
|
|
49341
49375
|
)} to try again`
|
|
49342
49376
|
);
|
|
@@ -49400,16 +49434,16 @@ async function renderJobSucceeded2({
|
|
|
49400
49434
|
let deploymentInfo = "";
|
|
49401
49435
|
try {
|
|
49402
49436
|
const deployment = await getDeployment(client, contextName, toDeploymentId);
|
|
49403
|
-
deploymentInfo = `${
|
|
49437
|
+
deploymentInfo = `${import_chalk189.default.bold(deployment.url)} (${toDeploymentId})`;
|
|
49404
49438
|
} catch (err) {
|
|
49405
49439
|
output_manager_default.debug(
|
|
49406
49440
|
`Failed to get deployment url for ${toDeploymentId}: ${err?.toString() || err}`
|
|
49407
49441
|
);
|
|
49408
|
-
deploymentInfo =
|
|
49442
|
+
deploymentInfo = import_chalk189.default.bold(toDeploymentId);
|
|
49409
49443
|
}
|
|
49410
49444
|
const duration = performingRollback ? elapsed(Date.now() - requestedAt) : "";
|
|
49411
49445
|
output_manager_default.log(
|
|
49412
|
-
`Success! ${
|
|
49446
|
+
`Success! ${import_chalk189.default.bold(
|
|
49413
49447
|
project.name
|
|
49414
49448
|
)} was rolled back to ${deploymentInfo} ${duration}`
|
|
49415
49449
|
);
|
|
@@ -49433,7 +49467,7 @@ async function requestRollback({
|
|
|
49433
49467
|
});
|
|
49434
49468
|
if (timeout !== void 0 && (0, import_ms31.default)(timeout) === 0) {
|
|
49435
49469
|
output_manager_default.log(
|
|
49436
|
-
`Successfully requested rollback of ${
|
|
49470
|
+
`Successfully requested rollback of ${import_chalk190.default.bold(project.name)} to ${deployment.url} (${deployment.id})`
|
|
49437
49471
|
);
|
|
49438
49472
|
output_manager_default.log(`To check rollback status, run ${getCommandName("rollback")}.`);
|
|
49439
49473
|
return 0;
|
|
@@ -50410,7 +50444,7 @@ async function rollingRelease(client) {
|
|
|
50410
50444
|
}
|
|
50411
50445
|
|
|
50412
50446
|
// src/commands/routes/list.ts
|
|
50413
|
-
var
|
|
50447
|
+
var import_chalk191 = __toESM(require_source(), 1);
|
|
50414
50448
|
var import_pluralize13 = __toESM(require_pluralize(), 1);
|
|
50415
50449
|
async function list13(client, argv) {
|
|
50416
50450
|
const parsed = await parseSubcommandArgs(argv, listSubcommand14, client);
|
|
@@ -50499,7 +50533,7 @@ async function list13(client, argv) {
|
|
|
50499
50533
|
process.exit(1);
|
|
50500
50534
|
}
|
|
50501
50535
|
output_manager_default.error(
|
|
50502
|
-
`No production version found for ${
|
|
50536
|
+
`No production version found for ${import_chalk191.default.bold(project.name)}.`
|
|
50503
50537
|
);
|
|
50504
50538
|
return 1;
|
|
50505
50539
|
}
|
|
@@ -50527,9 +50561,9 @@ async function list13(client, argv) {
|
|
|
50527
50561
|
process.exit(1);
|
|
50528
50562
|
}
|
|
50529
50563
|
output_manager_default.error(
|
|
50530
|
-
`No staged changes to diff. Run ${
|
|
50564
|
+
`No staged changes to diff. Run ${import_chalk191.default.cyan(
|
|
50531
50565
|
getCommandName("routes add")
|
|
50532
|
-
)} or ${
|
|
50566
|
+
)} or ${import_chalk191.default.cyan(getCommandName("routes edit"))} to make changes.`
|
|
50533
50567
|
);
|
|
50534
50568
|
return 1;
|
|
50535
50569
|
}
|
|
@@ -50564,7 +50598,7 @@ async function list13(client, argv) {
|
|
|
50564
50598
|
}
|
|
50565
50599
|
}
|
|
50566
50600
|
const lsStamp = stamp_default();
|
|
50567
|
-
let spinnerMessage = `Fetching routes for ${
|
|
50601
|
+
let spinnerMessage = `Fetching routes for ${import_chalk191.default.bold(project.name)}`;
|
|
50568
50602
|
if (versionName) {
|
|
50569
50603
|
spinnerMessage += ` (version: ${versionName})`;
|
|
50570
50604
|
}
|
|
@@ -50588,7 +50622,7 @@ async function list13(client, argv) {
|
|
|
50588
50622
|
const modified = routes2.filter((r) => r.action === "~");
|
|
50589
50623
|
const unchanged = routes2.filter((r) => !r.action);
|
|
50590
50624
|
output_manager_default.log(
|
|
50591
|
-
`Changes in staging version ${
|
|
50625
|
+
`Changes in staging version ${import_chalk191.default.bold(versionName || "")} ${import_chalk191.default.gray(lsStamp())}`
|
|
50592
50626
|
);
|
|
50593
50627
|
if (added.length === 0 && removed.length === 0 && modified.length === 0) {
|
|
50594
50628
|
output_manager_default.log("\n No changes from production version\n");
|
|
@@ -50596,7 +50630,7 @@ async function list13(client, argv) {
|
|
|
50596
50630
|
if (added.length > 0) {
|
|
50597
50631
|
output_manager_default.print(
|
|
50598
50632
|
`
|
|
50599
|
-
${
|
|
50633
|
+
${import_chalk191.default.bold(import_chalk191.default.green(`Added (${added.length}):`))}
|
|
50600
50634
|
`
|
|
50601
50635
|
);
|
|
50602
50636
|
output_manager_default.print(formatRoutesTable(added, "+"));
|
|
@@ -50604,7 +50638,7 @@ async function list13(client, argv) {
|
|
|
50604
50638
|
if (modified.length > 0) {
|
|
50605
50639
|
output_manager_default.print(
|
|
50606
50640
|
`
|
|
50607
|
-
${
|
|
50641
|
+
${import_chalk191.default.bold(import_chalk191.default.yellow(`Modified (${modified.length}):`))}
|
|
50608
50642
|
`
|
|
50609
50643
|
);
|
|
50610
50644
|
output_manager_default.print(formatRoutesTable(modified, "~"));
|
|
@@ -50612,7 +50646,7 @@ async function list13(client, argv) {
|
|
|
50612
50646
|
if (removed.length > 0) {
|
|
50613
50647
|
output_manager_default.print(
|
|
50614
50648
|
`
|
|
50615
|
-
${
|
|
50649
|
+
${import_chalk191.default.bold(import_chalk191.default.red(`Removed (${removed.length}):`))}
|
|
50616
50650
|
`
|
|
50617
50651
|
);
|
|
50618
50652
|
output_manager_default.print(formatRoutesTable(removed, "-"));
|
|
@@ -50620,7 +50654,7 @@ async function list13(client, argv) {
|
|
|
50620
50654
|
if (unchanged.length > 0) {
|
|
50621
50655
|
output_manager_default.print(
|
|
50622
50656
|
`
|
|
50623
|
-
${
|
|
50657
|
+
${import_chalk191.default.gray(`${unchanged.length} route${unchanged.length === 1 ? "" : "s"} unchanged`)}
|
|
50624
50658
|
`
|
|
50625
50659
|
);
|
|
50626
50660
|
}
|
|
@@ -50628,15 +50662,15 @@ async function list13(client, argv) {
|
|
|
50628
50662
|
}
|
|
50629
50663
|
if (version?.alias) {
|
|
50630
50664
|
output_manager_default.log(
|
|
50631
|
-
`Test your changes: ${
|
|
50665
|
+
`Test your changes: ${import_chalk191.default.cyan(`https://${version.alias}`)}`
|
|
50632
50666
|
);
|
|
50633
50667
|
}
|
|
50634
50668
|
} else {
|
|
50635
|
-
let resultMessage = `${(0, import_pluralize13.default)("Route", routes2.length, true)} found for ${
|
|
50669
|
+
let resultMessage = `${(0, import_pluralize13.default)("Route", routes2.length, true)} found for ${import_chalk191.default.bold(
|
|
50636
50670
|
project.name
|
|
50637
50671
|
)}`;
|
|
50638
50672
|
if (versionName) {
|
|
50639
|
-
resultMessage += ` ${
|
|
50673
|
+
resultMessage += ` ${import_chalk191.default.gray(`(version: ${versionName})`)}`;
|
|
50640
50674
|
}
|
|
50641
50675
|
if (search2) {
|
|
50642
50676
|
resultMessage += ` matching "${search2}"`;
|
|
@@ -50644,7 +50678,7 @@ async function list13(client, argv) {
|
|
|
50644
50678
|
if (filter) {
|
|
50645
50679
|
resultMessage += ` filtered by ${filter}`;
|
|
50646
50680
|
}
|
|
50647
|
-
resultMessage += ` ${
|
|
50681
|
+
resultMessage += ` ${import_chalk191.default.gray(lsStamp())}`;
|
|
50648
50682
|
output_manager_default.log(resultMessage);
|
|
50649
50683
|
if (routes2.length > 0) {
|
|
50650
50684
|
if (expand) {
|
|
@@ -50657,7 +50691,7 @@ async function list13(client, argv) {
|
|
|
50657
50691
|
if (limit && limit.maxRoutes > 0) {
|
|
50658
50692
|
const utilization = limit.currentRoutes / limit.maxRoutes;
|
|
50659
50693
|
if (utilization >= 0.8) {
|
|
50660
|
-
const usageColor = utilization >= 1 ?
|
|
50694
|
+
const usageColor = utilization >= 1 ? import_chalk191.default.red : import_chalk191.default.yellow;
|
|
50661
50695
|
output_manager_default.print(
|
|
50662
50696
|
` ${usageColor(`Routes Usage: ${limit.currentRoutes}/${limit.maxRoutes}`)}
|
|
50663
50697
|
|
|
@@ -50671,14 +50705,14 @@ async function list13(client, argv) {
|
|
|
50671
50705
|
function formatRoutesTable(routes2, actionSymbol) {
|
|
50672
50706
|
const rows = routes2.map((rule, index) => {
|
|
50673
50707
|
const typeLabels = getRouteTypeLabel(rule);
|
|
50674
|
-
const status3 = rule.enabled === false ?
|
|
50708
|
+
const status3 = rule.enabled === false ? import_chalk191.default.red("Disabled") : import_chalk191.default.green("Enabled");
|
|
50675
50709
|
const prefix = actionSymbol || "";
|
|
50676
|
-
const colorFn = actionSymbol === "+" ?
|
|
50710
|
+
const colorFn = actionSymbol === "+" ? import_chalk191.default.green : actionSymbol === "-" ? import_chalk191.default.red : actionSymbol === "~" ? import_chalk191.default.yellow : (s) => s;
|
|
50677
50711
|
const position = actionSymbol ? "" : `${index + 1}`;
|
|
50678
50712
|
return [
|
|
50679
50713
|
colorFn(`${prefix} ${position}`).trim(),
|
|
50680
50714
|
colorFn(
|
|
50681
|
-
truncate(rule.name, 30) + (rule.staged ?
|
|
50715
|
+
truncate(rule.name, 30) + (rule.staged ? import_chalk191.default.yellow(" (draft)") : "")
|
|
50682
50716
|
),
|
|
50683
50717
|
colorFn(truncate(rule.route.src, 40)),
|
|
50684
50718
|
colorFn(typeLabels),
|
|
@@ -50701,44 +50735,44 @@ function formatExpandedRoutes(routes2) {
|
|
|
50701
50735
|
routes2.forEach((rule, index) => {
|
|
50702
50736
|
const typeLabels = getRouteTypeLabel(rule);
|
|
50703
50737
|
const syntaxLabel = getSrcSyntaxLabel(rule);
|
|
50704
|
-
const statusText = rule.enabled === false ?
|
|
50705
|
-
const stagedText = rule.staged ?
|
|
50738
|
+
const statusText = rule.enabled === false ? import_chalk191.default.red("Disabled") : import_chalk191.default.green("Enabled");
|
|
50739
|
+
const stagedText = rule.staged ? import_chalk191.default.yellow(" (staged)") : "";
|
|
50706
50740
|
lines.push(
|
|
50707
|
-
` ${
|
|
50741
|
+
` ${import_chalk191.default.bold(`${index + 1}. ${rule.name}`)}${stagedText} ${import_chalk191.default.gray(`[${rule.id}]`)}`
|
|
50708
50742
|
);
|
|
50709
|
-
lines.push(` ${
|
|
50710
|
-
lines.push(` ${
|
|
50743
|
+
lines.push(` ${import_chalk191.default.cyan("Status:")} ${statusText}`);
|
|
50744
|
+
lines.push(` ${import_chalk191.default.cyan("Type:")} ${typeLabels}`);
|
|
50711
50745
|
if (rule.description) {
|
|
50712
|
-
lines.push(` ${
|
|
50746
|
+
lines.push(` ${import_chalk191.default.cyan("Desc:")} ${rule.description}`);
|
|
50713
50747
|
}
|
|
50714
|
-
lines.push(` ${
|
|
50715
|
-
lines.push(` ${
|
|
50748
|
+
lines.push(` ${import_chalk191.default.cyan("Source:")} ${rule.route.src}`);
|
|
50749
|
+
lines.push(` ${import_chalk191.default.cyan("Syntax:")} ${syntaxLabel}`);
|
|
50716
50750
|
if (rule.route.dest) {
|
|
50717
|
-
lines.push(` ${
|
|
50751
|
+
lines.push(` ${import_chalk191.default.cyan("Dest:")} ${rule.route.dest}`);
|
|
50718
50752
|
}
|
|
50719
50753
|
if (rule.route.status) {
|
|
50720
|
-
lines.push(` ${
|
|
50754
|
+
lines.push(` ${import_chalk191.default.cyan("Code:")} ${rule.route.status}`);
|
|
50721
50755
|
}
|
|
50722
50756
|
if (rule.route.headers && Object.keys(rule.route.headers).length > 0) {
|
|
50723
|
-
lines.push(` ${
|
|
50757
|
+
lines.push(` ${import_chalk191.default.cyan("Response Headers:")}`);
|
|
50724
50758
|
for (const [key, value] of Object.entries(rule.route.headers)) {
|
|
50725
50759
|
lines.push(` ${key}: ${value}`);
|
|
50726
50760
|
}
|
|
50727
50761
|
}
|
|
50728
50762
|
if (rule.route.transforms && rule.route.transforms.length > 0) {
|
|
50729
|
-
lines.push(` ${
|
|
50763
|
+
lines.push(` ${import_chalk191.default.cyan("Transforms:")}`);
|
|
50730
50764
|
for (const transform of rule.route.transforms) {
|
|
50731
50765
|
lines.push(` ${formatTransform(transform)}`);
|
|
50732
50766
|
}
|
|
50733
50767
|
}
|
|
50734
50768
|
if (rule.route.has && rule.route.has.length > 0) {
|
|
50735
|
-
lines.push(` ${
|
|
50769
|
+
lines.push(` ${import_chalk191.default.cyan("Has conditions:")}`);
|
|
50736
50770
|
for (const condition of rule.route.has) {
|
|
50737
50771
|
lines.push(` ${formatCondition(condition)}`);
|
|
50738
50772
|
}
|
|
50739
50773
|
}
|
|
50740
50774
|
if (rule.route.missing && rule.route.missing.length > 0) {
|
|
50741
|
-
lines.push(` ${
|
|
50775
|
+
lines.push(` ${import_chalk191.default.cyan("Does not have conditions:")}`);
|
|
50742
50776
|
for (const condition of rule.route.missing) {
|
|
50743
50777
|
lines.push(` ${formatCondition(condition)}`);
|
|
50744
50778
|
}
|
|
@@ -50749,7 +50783,7 @@ function formatExpandedRoutes(routes2) {
|
|
|
50749
50783
|
}
|
|
50750
50784
|
|
|
50751
50785
|
// src/commands/routes/list-versions.ts
|
|
50752
|
-
var
|
|
50786
|
+
var import_chalk192 = __toESM(require_source(), 1);
|
|
50753
50787
|
var import_ms34 = __toESM(require_ms(), 1);
|
|
50754
50788
|
async function listVersions2(client, argv) {
|
|
50755
50789
|
const parsed = await parseSubcommandArgs(
|
|
@@ -50789,13 +50823,13 @@ async function listVersions2(client, argv) {
|
|
|
50789
50823
|
}
|
|
50790
50824
|
}
|
|
50791
50825
|
const lsStamp = stamp_default();
|
|
50792
|
-
output_manager_default.spinner(`Fetching route versions for ${
|
|
50826
|
+
output_manager_default.spinner(`Fetching route versions for ${import_chalk192.default.bold(project.name)}`);
|
|
50793
50827
|
const { versions } = await getRouteVersions(client, project.id, {
|
|
50794
50828
|
teamId,
|
|
50795
50829
|
count
|
|
50796
50830
|
});
|
|
50797
50831
|
output_manager_default.log(
|
|
50798
|
-
`Route versions for ${
|
|
50832
|
+
`Route versions for ${import_chalk192.default.bold(project.name)} ${import_chalk192.default.gray(lsStamp())}`
|
|
50799
50833
|
);
|
|
50800
50834
|
if (versions.length === 0) {
|
|
50801
50835
|
output_manager_default.log("\n No versions found\n");
|
|
@@ -50809,11 +50843,11 @@ function formatVersionsTable2(versions) {
|
|
|
50809
50843
|
const rows = versions.map((version) => {
|
|
50810
50844
|
let status3 = "";
|
|
50811
50845
|
if (version.isStaging) {
|
|
50812
|
-
status3 =
|
|
50846
|
+
status3 = import_chalk192.default.yellow("Staging");
|
|
50813
50847
|
} else if (version.isLive) {
|
|
50814
|
-
status3 =
|
|
50848
|
+
status3 = import_chalk192.default.green("Live");
|
|
50815
50849
|
} else {
|
|
50816
|
-
status3 =
|
|
50850
|
+
status3 = import_chalk192.default.gray("Previous");
|
|
50817
50851
|
}
|
|
50818
50852
|
const id = version.id.slice(0, 12);
|
|
50819
50853
|
const routeCount = version.ruleCount !== void 0 ? version.ruleCount.toString() : "-";
|
|
@@ -50836,7 +50870,7 @@ function getRelativeTime(timestamp) {
|
|
|
50836
50870
|
}
|
|
50837
50871
|
|
|
50838
50872
|
// src/commands/routes/inspect.ts
|
|
50839
|
-
var
|
|
50873
|
+
var import_chalk193 = __toESM(require_source(), 1);
|
|
50840
50874
|
function withGlobalFlags7(client, commandTemplate) {
|
|
50841
50875
|
const flags = getGlobalFlagsOnlyFromArgs(client.argv.slice(2));
|
|
50842
50876
|
return getCommandNamePlain(`${commandTemplate} ${flags.join(" ")}`.trim());
|
|
@@ -50877,13 +50911,13 @@ async function inspect6(client, argv) {
|
|
|
50877
50911
|
return 1;
|
|
50878
50912
|
}
|
|
50879
50913
|
output_manager_default.error(
|
|
50880
|
-
`Missing route name or ID. Usage: ${
|
|
50914
|
+
`Missing route name or ID. Usage: ${import_chalk193.default.cyan(getCommandName("routes inspect <name-or-id>"))}`
|
|
50881
50915
|
);
|
|
50882
50916
|
return 1;
|
|
50883
50917
|
}
|
|
50884
50918
|
const inspectStamp = stamp_default();
|
|
50885
50919
|
output_manager_default.spinner(
|
|
50886
|
-
`Searching for route "${identifier}" in ${
|
|
50920
|
+
`Searching for route "${identifier}" in ${import_chalk193.default.bold(project.name)}`
|
|
50887
50921
|
);
|
|
50888
50922
|
const { routes: routes2 } = await getRoutes(client, project.id, {
|
|
50889
50923
|
teamId,
|
|
@@ -50915,7 +50949,7 @@ async function inspect6(client, argv) {
|
|
|
50915
50949
|
return 1;
|
|
50916
50950
|
}
|
|
50917
50951
|
output_manager_default.error(
|
|
50918
|
-
`No route found matching "${identifier}". Run ${
|
|
50952
|
+
`No route found matching "${identifier}". Run ${import_chalk193.default.cyan(
|
|
50919
50953
|
getCommandName("routes list")
|
|
50920
50954
|
)} to see all routes.`
|
|
50921
50955
|
);
|
|
@@ -50946,13 +50980,13 @@ async function inspect6(client, argv) {
|
|
|
50946
50980
|
return 1;
|
|
50947
50981
|
}
|
|
50948
50982
|
output_manager_default.log(
|
|
50949
|
-
`Found ${routes2.length} routes matching "${identifier}" ${
|
|
50983
|
+
`Found ${routes2.length} routes matching "${identifier}" ${import_chalk193.default.gray(inspectStamp())}`
|
|
50950
50984
|
);
|
|
50951
50985
|
const selectedId = await client.input.select({
|
|
50952
50986
|
message: "Select a route to inspect:",
|
|
50953
50987
|
choices: routes2.map((r) => ({
|
|
50954
50988
|
value: r.id,
|
|
50955
|
-
name: `${r.name} ${
|
|
50989
|
+
name: `${r.name} ${import_chalk193.default.gray(`(${r.route.src})`)}`
|
|
50956
50990
|
}))
|
|
50957
50991
|
});
|
|
50958
50992
|
if (!selectedId) {
|
|
@@ -50967,7 +51001,7 @@ async function inspect6(client, argv) {
|
|
|
50967
51001
|
route = selected;
|
|
50968
51002
|
}
|
|
50969
51003
|
output_manager_default.log(
|
|
50970
|
-
`Route found in ${
|
|
51004
|
+
`Route found in ${import_chalk193.default.bold(project.name)} ${import_chalk193.default.gray(inspectStamp())}`
|
|
50971
51005
|
);
|
|
50972
51006
|
if (showDiff) {
|
|
50973
51007
|
return await showRouteDiff(client, project.id, teamId, route);
|
|
@@ -50991,13 +51025,13 @@ async function showRouteDiff(client, projectId, teamId, stagingRoute) {
|
|
|
50991
51025
|
if (!productionRoute) {
|
|
50992
51026
|
output_manager_default.print(
|
|
50993
51027
|
`
|
|
50994
|
-
${
|
|
51028
|
+
${import_chalk193.default.bold(stagingRoute.name)} ${import_chalk193.default.green("(new)")}
|
|
50995
51029
|
`
|
|
50996
51030
|
);
|
|
50997
|
-
output_manager_default.print(` ${
|
|
51031
|
+
output_manager_default.print(` ${import_chalk193.default.gray(stagingRoute.id)}
|
|
50998
51032
|
`);
|
|
50999
51033
|
output_manager_default.print(
|
|
51000
|
-
` ${
|
|
51034
|
+
` ${import_chalk193.default.green("This route does not exist in production yet.")}
|
|
51001
51035
|
`
|
|
51002
51036
|
);
|
|
51003
51037
|
output_manager_default.print(formatRouteDetails(stagingRoute));
|
|
@@ -51010,45 +51044,45 @@ function diffField(label, oldVal, newVal) {
|
|
|
51010
51044
|
if (oldVal === newVal) {
|
|
51011
51045
|
if (!newVal)
|
|
51012
51046
|
return "";
|
|
51013
|
-
return ` ${
|
|
51047
|
+
return ` ${import_chalk193.default.cyan(label)} ${newVal}`;
|
|
51014
51048
|
}
|
|
51015
51049
|
if (!oldVal && newVal) {
|
|
51016
|
-
return `${
|
|
51050
|
+
return `${import_chalk193.default.green("+")} ${import_chalk193.default.cyan(label)} ${newVal}`;
|
|
51017
51051
|
}
|
|
51018
51052
|
if (oldVal && !newVal) {
|
|
51019
|
-
return `${
|
|
51053
|
+
return `${import_chalk193.default.red("-")} ${import_chalk193.default.cyan(label)} ${import_chalk193.default.strikethrough(oldVal)}`;
|
|
51020
51054
|
}
|
|
51021
|
-
return `${
|
|
51055
|
+
return `${import_chalk193.default.yellow("~")} ${import_chalk193.default.cyan(label)} ${import_chalk193.default.red(oldVal)} \u2192 ${import_chalk193.default.green(newVal)}`;
|
|
51022
51056
|
}
|
|
51023
51057
|
function formatRouteDiff(staging, production) {
|
|
51024
51058
|
const lines = [""];
|
|
51025
51059
|
const hasChanges = JSON.stringify(normalizeForComparison(staging)) !== JSON.stringify(normalizeForComparison(production));
|
|
51026
51060
|
if (!hasChanges) {
|
|
51027
|
-
lines.push(` ${
|
|
51028
|
-
lines.push(` ${
|
|
51061
|
+
lines.push(` ${import_chalk193.default.bold(staging.name)}`);
|
|
51062
|
+
lines.push(` ${import_chalk193.default.gray(staging.id)}`);
|
|
51029
51063
|
lines.push("");
|
|
51030
|
-
lines.push(` ${
|
|
51064
|
+
lines.push(` ${import_chalk193.default.gray("No staged changes for this route.")}`);
|
|
51031
51065
|
lines.push("");
|
|
51032
|
-
lines.push(
|
|
51066
|
+
lines.push(import_chalk193.default.bold(" Route Configuration"));
|
|
51033
51067
|
return lines.join("\n") + "\n" + formatRouteDetails(staging);
|
|
51034
51068
|
}
|
|
51035
51069
|
const typeLabels = getRouteTypeLabel(staging);
|
|
51036
51070
|
const syntaxLabel = getSrcSyntaxLabel(staging);
|
|
51037
|
-
lines.push(` ${
|
|
51038
|
-
lines.push(` ${
|
|
51071
|
+
lines.push(` ${import_chalk193.default.bold(staging.name)} ${import_chalk193.default.yellow("(modified)")}`);
|
|
51072
|
+
lines.push(` ${import_chalk193.default.gray(staging.id)}`);
|
|
51039
51073
|
lines.push("");
|
|
51040
51074
|
if (production.description !== staging.description) {
|
|
51041
51075
|
if (!production.description && staging.description) {
|
|
51042
51076
|
lines.push(
|
|
51043
|
-
`${
|
|
51077
|
+
`${import_chalk193.default.green("+")} ${import_chalk193.default.cyan("Description:")} ${staging.description}`
|
|
51044
51078
|
);
|
|
51045
51079
|
} else if (production.description && !staging.description) {
|
|
51046
51080
|
lines.push(
|
|
51047
|
-
`${
|
|
51081
|
+
`${import_chalk193.default.red("-")} ${import_chalk193.default.cyan("Description:")} ${import_chalk193.default.strikethrough(production.description)}`
|
|
51048
51082
|
);
|
|
51049
51083
|
} else {
|
|
51050
51084
|
lines.push(
|
|
51051
|
-
`${
|
|
51085
|
+
`${import_chalk193.default.yellow("~")} ${import_chalk193.default.cyan("Description:")} ${import_chalk193.default.red(production.description)} \u2192 ${import_chalk193.default.green(staging.description)}`
|
|
51052
51086
|
);
|
|
51053
51087
|
}
|
|
51054
51088
|
lines.push("");
|
|
@@ -51059,14 +51093,14 @@ function formatRouteDiff(staging, production) {
|
|
|
51059
51093
|
const prodStatusText = production.enabled === false ? "Disabled" : "Enabled";
|
|
51060
51094
|
const stagingStatusText = staging.enabled === false ? "Disabled" : "Enabled";
|
|
51061
51095
|
lines.push(
|
|
51062
|
-
diffField("Status:", prodStatusText, stagingStatusText) || ` ${
|
|
51096
|
+
diffField("Status:", prodStatusText, stagingStatusText) || ` ${import_chalk193.default.cyan("Status:")} ${stagingStatusText}`
|
|
51063
51097
|
);
|
|
51064
|
-
lines.push(` ${
|
|
51098
|
+
lines.push(` ${import_chalk193.default.cyan("Type:")} ${typeLabels}`);
|
|
51065
51099
|
lines.push("");
|
|
51066
|
-
lines.push(
|
|
51100
|
+
lines.push(import_chalk193.default.bold(" Route Configuration"));
|
|
51067
51101
|
const srcLine = diffField("Source:", production.route.src, staging.route.src);
|
|
51068
|
-
lines.push(srcLine || ` ${
|
|
51069
|
-
lines.push(` ${
|
|
51102
|
+
lines.push(srcLine || ` ${import_chalk193.default.cyan("Source:")} ${staging.route.src}`);
|
|
51103
|
+
lines.push(` ${import_chalk193.default.cyan("Syntax:")} ${syntaxLabel}`);
|
|
51070
51104
|
const destLine = diffField(
|
|
51071
51105
|
"Destination:",
|
|
51072
51106
|
production.route.dest,
|
|
@@ -51075,14 +51109,14 @@ function formatRouteDiff(staging, production) {
|
|
|
51075
51109
|
if (destLine)
|
|
51076
51110
|
lines.push(destLine);
|
|
51077
51111
|
else if (staging.route.dest)
|
|
51078
|
-
lines.push(` ${
|
|
51112
|
+
lines.push(` ${import_chalk193.default.cyan("Destination:")} ${staging.route.dest}`);
|
|
51079
51113
|
const prodStatus = production.route.status ? String(production.route.status) : void 0;
|
|
51080
51114
|
const stagingStatus = staging.route.status ? String(staging.route.status) : void 0;
|
|
51081
51115
|
const statusLine = diffField("HTTP Status:", prodStatus, stagingStatus);
|
|
51082
51116
|
if (statusLine)
|
|
51083
51117
|
lines.push(statusLine);
|
|
51084
51118
|
else if (staging.route.status)
|
|
51085
|
-
lines.push(` ${
|
|
51119
|
+
lines.push(` ${import_chalk193.default.cyan("HTTP Status:")} ${staging.route.status}`);
|
|
51086
51120
|
const prodHeaders = production.route.headers ?? {};
|
|
51087
51121
|
const stagingHeaders = staging.route.headers ?? {};
|
|
51088
51122
|
const allHeaderKeys = /* @__PURE__ */ new Set([
|
|
@@ -51091,23 +51125,23 @@ function formatRouteDiff(staging, production) {
|
|
|
51091
51125
|
]);
|
|
51092
51126
|
if (allHeaderKeys.size > 0) {
|
|
51093
51127
|
lines.push("");
|
|
51094
|
-
lines.push(
|
|
51128
|
+
lines.push(import_chalk193.default.bold(" Response Headers"));
|
|
51095
51129
|
for (const key of allHeaderKeys) {
|
|
51096
51130
|
const prodVal = prodHeaders[key];
|
|
51097
51131
|
const stagingVal = stagingHeaders[key];
|
|
51098
51132
|
if (prodVal === stagingVal) {
|
|
51099
|
-
lines.push(` ${
|
|
51133
|
+
lines.push(` ${import_chalk193.default.cyan(key + ":")} ${stagingVal}`);
|
|
51100
51134
|
} else if (!prodVal) {
|
|
51101
51135
|
lines.push(
|
|
51102
|
-
`${
|
|
51136
|
+
`${import_chalk193.default.green("+")} ${import_chalk193.default.cyan(key + ":")} ${stagingVal}`
|
|
51103
51137
|
);
|
|
51104
51138
|
} else if (!stagingVal) {
|
|
51105
51139
|
lines.push(
|
|
51106
|
-
`${
|
|
51140
|
+
`${import_chalk193.default.red("-")} ${import_chalk193.default.cyan(key + ":")} ${import_chalk193.default.strikethrough(prodVal)}`
|
|
51107
51141
|
);
|
|
51108
51142
|
} else {
|
|
51109
51143
|
lines.push(
|
|
51110
|
-
`${
|
|
51144
|
+
`${import_chalk193.default.yellow("~")} ${import_chalk193.default.cyan(key + ":")} ${import_chalk193.default.red(prodVal)} \u2192 ${import_chalk193.default.green(stagingVal)}`
|
|
51111
51145
|
);
|
|
51112
51146
|
}
|
|
51113
51147
|
}
|
|
@@ -51116,7 +51150,7 @@ function formatRouteDiff(staging, production) {
|
|
|
51116
51150
|
const stagingTransforms = staging.route.transforms ?? [];
|
|
51117
51151
|
if (prodTransforms.length > 0 || stagingTransforms.length > 0) {
|
|
51118
51152
|
lines.push("");
|
|
51119
|
-
lines.push(
|
|
51153
|
+
lines.push(import_chalk193.default.bold(" Transforms"));
|
|
51120
51154
|
const prodKeys = prodTransforms.map(transformKey);
|
|
51121
51155
|
const stagingKeys = stagingTransforms.map(transformKey);
|
|
51122
51156
|
for (let i = 0; i < stagingTransforms.length; i++) {
|
|
@@ -51124,14 +51158,14 @@ function formatRouteDiff(staging, production) {
|
|
|
51124
51158
|
const prodIdx = prodKeys.indexOf(key);
|
|
51125
51159
|
if (prodIdx === -1) {
|
|
51126
51160
|
lines.push(
|
|
51127
|
-
`${
|
|
51161
|
+
`${import_chalk193.default.green("+")} ${formatTransform(stagingTransforms[i])}`
|
|
51128
51162
|
);
|
|
51129
51163
|
} else {
|
|
51130
51164
|
const prodArgs = stringifyArgs(prodTransforms[prodIdx].args);
|
|
51131
51165
|
const stagingArgs = stringifyArgs(stagingTransforms[i].args);
|
|
51132
51166
|
if (prodArgs !== stagingArgs) {
|
|
51133
51167
|
lines.push(
|
|
51134
|
-
`${
|
|
51168
|
+
`${import_chalk193.default.yellow("~")} ${formatTransform(stagingTransforms[i])} ${import_chalk193.default.gray(`(was: ${prodArgs})`)}`
|
|
51135
51169
|
);
|
|
51136
51170
|
} else {
|
|
51137
51171
|
lines.push(` ${formatTransform(stagingTransforms[i])}`);
|
|
@@ -51142,7 +51176,7 @@ function formatRouteDiff(staging, production) {
|
|
|
51142
51176
|
const key = prodKeys[i];
|
|
51143
51177
|
if (!stagingKeys.includes(key)) {
|
|
51144
51178
|
lines.push(
|
|
51145
|
-
`${
|
|
51179
|
+
`${import_chalk193.default.red("-")} ${import_chalk193.default.strikethrough(formatTransformPlain(prodTransforms[i]))}`
|
|
51146
51180
|
);
|
|
51147
51181
|
}
|
|
51148
51182
|
}
|
|
@@ -51151,14 +51185,14 @@ function formatRouteDiff(staging, production) {
|
|
|
51151
51185
|
const stagingHas = staging.route.has ?? [];
|
|
51152
51186
|
if (prodHas.length > 0 || stagingHas.length > 0) {
|
|
51153
51187
|
lines.push("");
|
|
51154
|
-
lines.push(
|
|
51188
|
+
lines.push(import_chalk193.default.bold(" Has Conditions"));
|
|
51155
51189
|
diffConditions(lines, prodHas, stagingHas);
|
|
51156
51190
|
}
|
|
51157
51191
|
const prodMissing = production.route.missing ?? [];
|
|
51158
51192
|
const stagingMissing = staging.route.missing ?? [];
|
|
51159
51193
|
if (prodMissing.length > 0 || stagingMissing.length > 0) {
|
|
51160
51194
|
lines.push("");
|
|
51161
|
-
lines.push(
|
|
51195
|
+
lines.push(import_chalk193.default.bold(" Does Not Have Conditions"));
|
|
51162
51196
|
diffConditions(lines, prodMissing, stagingMissing);
|
|
51163
51197
|
}
|
|
51164
51198
|
lines.push("");
|
|
@@ -51206,13 +51240,13 @@ function diffConditions(lines, prodConditions, stagingConditions) {
|
|
|
51206
51240
|
if (prodKeys.includes(key)) {
|
|
51207
51241
|
lines.push(` ${formatCondition(cond)}`);
|
|
51208
51242
|
} else {
|
|
51209
|
-
lines.push(`${
|
|
51243
|
+
lines.push(`${import_chalk193.default.green("+")} ${formatCondition(cond)}`);
|
|
51210
51244
|
}
|
|
51211
51245
|
}
|
|
51212
51246
|
for (const cond of prodConditions) {
|
|
51213
51247
|
const key = conditionKey(cond);
|
|
51214
51248
|
if (!stagingKeys.includes(key)) {
|
|
51215
|
-
lines.push(`${
|
|
51249
|
+
lines.push(`${import_chalk193.default.red("-")} ${formatCondition(cond)}`);
|
|
51216
51250
|
}
|
|
51217
51251
|
}
|
|
51218
51252
|
}
|
|
@@ -51220,32 +51254,32 @@ function formatRouteDetails(rule) {
|
|
|
51220
51254
|
const lines = [""];
|
|
51221
51255
|
const typeLabels = getRouteTypeLabel(rule);
|
|
51222
51256
|
const syntaxLabel = getSrcSyntaxLabel(rule);
|
|
51223
|
-
const statusText = rule.enabled === false ?
|
|
51224
|
-
lines.push(` ${
|
|
51225
|
-
lines.push(` ${
|
|
51257
|
+
const statusText = rule.enabled === false ? import_chalk193.default.red("Disabled") : import_chalk193.default.green("Enabled");
|
|
51258
|
+
lines.push(` ${import_chalk193.default.bold(rule.name)}`);
|
|
51259
|
+
lines.push(` ${import_chalk193.default.gray(rule.id)}`);
|
|
51226
51260
|
lines.push("");
|
|
51227
51261
|
if (rule.description) {
|
|
51228
51262
|
lines.push(` ${rule.description}`);
|
|
51229
51263
|
lines.push("");
|
|
51230
51264
|
}
|
|
51231
|
-
lines.push(` ${
|
|
51265
|
+
lines.push(` ${import_chalk193.default.cyan("Status:")} ${statusText}`);
|
|
51232
51266
|
if (rule.staged === true) {
|
|
51233
51267
|
lines.push(
|
|
51234
|
-
` ${
|
|
51268
|
+
` ${import_chalk193.default.cyan("State:")} ${import_chalk193.default.yellow("Staged (not yet published)")}`
|
|
51235
51269
|
);
|
|
51236
51270
|
} else if (rule.staged === false) {
|
|
51237
|
-
lines.push(` ${
|
|
51271
|
+
lines.push(` ${import_chalk193.default.cyan("State:")} ${import_chalk193.default.green("Published")}`);
|
|
51238
51272
|
}
|
|
51239
|
-
lines.push(` ${
|
|
51273
|
+
lines.push(` ${import_chalk193.default.cyan("Type:")} ${typeLabels}`);
|
|
51240
51274
|
lines.push("");
|
|
51241
|
-
lines.push(
|
|
51242
|
-
lines.push(` ${
|
|
51243
|
-
lines.push(` ${
|
|
51275
|
+
lines.push(import_chalk193.default.bold(" Route Configuration"));
|
|
51276
|
+
lines.push(` ${import_chalk193.default.cyan("Source:")} ${rule.route.src}`);
|
|
51277
|
+
lines.push(` ${import_chalk193.default.cyan("Syntax:")} ${syntaxLabel}`);
|
|
51244
51278
|
if (rule.route.dest) {
|
|
51245
|
-
lines.push(` ${
|
|
51279
|
+
lines.push(` ${import_chalk193.default.cyan("Destination:")} ${rule.route.dest}`);
|
|
51246
51280
|
}
|
|
51247
51281
|
if (rule.route.status) {
|
|
51248
|
-
lines.push(` ${
|
|
51282
|
+
lines.push(` ${import_chalk193.default.cyan("HTTP Status:")} ${rule.route.status}`);
|
|
51249
51283
|
}
|
|
51250
51284
|
const responseHeaderSets = Object.entries(rule.route.headers ?? {});
|
|
51251
51285
|
const allTransforms = rule.route.transforms ?? [];
|
|
@@ -51263,9 +51297,9 @@ function formatRouteDetails(rule) {
|
|
|
51263
51297
|
);
|
|
51264
51298
|
if (responseHeaderSets.length > 0 || responseHeaderTransforms.length > 0) {
|
|
51265
51299
|
lines.push("");
|
|
51266
|
-
lines.push(
|
|
51300
|
+
lines.push(import_chalk193.default.bold(" Response Headers"));
|
|
51267
51301
|
for (const [key, value] of responseHeaderSets) {
|
|
51268
|
-
lines.push(` ${
|
|
51302
|
+
lines.push(` ${import_chalk193.default.yellow("set")} ${import_chalk193.default.cyan(key)} = ${value}`);
|
|
51269
51303
|
}
|
|
51270
51304
|
for (const t of responseHeaderTransforms) {
|
|
51271
51305
|
lines.push(` ${formatTransform(t, false)}`);
|
|
@@ -51273,35 +51307,35 @@ function formatRouteDetails(rule) {
|
|
|
51273
51307
|
}
|
|
51274
51308
|
if (requestHeaderTransforms.length > 0) {
|
|
51275
51309
|
lines.push("");
|
|
51276
|
-
lines.push(
|
|
51310
|
+
lines.push(import_chalk193.default.bold(" Request Headers"));
|
|
51277
51311
|
for (const t of requestHeaderTransforms) {
|
|
51278
51312
|
lines.push(` ${formatTransform(t, false)}`);
|
|
51279
51313
|
}
|
|
51280
51314
|
}
|
|
51281
51315
|
if (requestQueryTransforms.length > 0) {
|
|
51282
51316
|
lines.push("");
|
|
51283
|
-
lines.push(
|
|
51317
|
+
lines.push(import_chalk193.default.bold(" Request Query"));
|
|
51284
51318
|
for (const t of requestQueryTransforms) {
|
|
51285
51319
|
lines.push(` ${formatTransform(t, false)}`);
|
|
51286
51320
|
}
|
|
51287
51321
|
}
|
|
51288
51322
|
if (requestPathTransforms.length > 0) {
|
|
51289
51323
|
lines.push("");
|
|
51290
|
-
lines.push(
|
|
51324
|
+
lines.push(import_chalk193.default.bold(" Request Path"));
|
|
51291
51325
|
for (const t of requestPathTransforms) {
|
|
51292
51326
|
lines.push(` ${formatTransform(t, false)}`);
|
|
51293
51327
|
}
|
|
51294
51328
|
}
|
|
51295
51329
|
if (rule.route.has && rule.route.has.length > 0) {
|
|
51296
51330
|
lines.push("");
|
|
51297
|
-
lines.push(
|
|
51331
|
+
lines.push(import_chalk193.default.bold(" Has Conditions"));
|
|
51298
51332
|
for (const condition of rule.route.has) {
|
|
51299
51333
|
lines.push(` ${formatCondition(condition)}`);
|
|
51300
51334
|
}
|
|
51301
51335
|
}
|
|
51302
51336
|
if (rule.route.missing && rule.route.missing.length > 0) {
|
|
51303
51337
|
lines.push("");
|
|
51304
|
-
lines.push(
|
|
51338
|
+
lines.push(import_chalk193.default.bold(" Does Not Have Conditions"));
|
|
51305
51339
|
for (const condition of rule.route.missing) {
|
|
51306
51340
|
lines.push(` ${formatCondition(condition)}`);
|
|
51307
51341
|
}
|
|
@@ -51311,7 +51345,7 @@ function formatRouteDetails(rule) {
|
|
|
51311
51345
|
}
|
|
51312
51346
|
|
|
51313
51347
|
// src/commands/routes/add.ts
|
|
51314
|
-
var
|
|
51348
|
+
var import_chalk194 = __toESM(require_source(), 1);
|
|
51315
51349
|
|
|
51316
51350
|
// src/util/routes/add-route.ts
|
|
51317
51351
|
async function addRoute(client, projectId, routeInput, options = {}) {
|
|
@@ -51925,44 +51959,44 @@ async function add11(client, argv) {
|
|
|
51925
51959
|
return 0;
|
|
51926
51960
|
}
|
|
51927
51961
|
output_manager_default.log(
|
|
51928
|
-
`${
|
|
51962
|
+
`${import_chalk194.default.cyan("Created")} route "${name}" ${import_chalk194.default.gray(addStamp())}`
|
|
51929
51963
|
);
|
|
51930
51964
|
output_manager_default.print(`
|
|
51931
|
-
${
|
|
51965
|
+
${import_chalk194.default.bold("Route:")} ${route.name}
|
|
51932
51966
|
`);
|
|
51933
|
-
output_manager_default.print(` ${
|
|
51967
|
+
output_manager_default.print(` ${import_chalk194.default.gray("ID:")} ${route.id}
|
|
51934
51968
|
`);
|
|
51935
|
-
output_manager_default.print(` ${
|
|
51969
|
+
output_manager_default.print(` ${import_chalk194.default.gray("Path:")} ${src}
|
|
51936
51970
|
`);
|
|
51937
51971
|
if (finalDest) {
|
|
51938
51972
|
if (isRedirect) {
|
|
51939
51973
|
output_manager_default.print(
|
|
51940
|
-
` ${
|
|
51974
|
+
` ${import_chalk194.default.gray("Redirect:")} ${finalDest} (${finalStatus})
|
|
51941
51975
|
`
|
|
51942
51976
|
);
|
|
51943
51977
|
} else {
|
|
51944
|
-
output_manager_default.print(` ${
|
|
51978
|
+
output_manager_default.print(` ${import_chalk194.default.gray("Rewrite:")} ${finalDest}
|
|
51945
51979
|
`);
|
|
51946
51980
|
}
|
|
51947
51981
|
} else if (finalStatus) {
|
|
51948
|
-
output_manager_default.print(` ${
|
|
51982
|
+
output_manager_default.print(` ${import_chalk194.default.gray("Status:")} ${finalStatus}
|
|
51949
51983
|
`);
|
|
51950
51984
|
}
|
|
51951
51985
|
if (Object.keys(headers).length > 0) {
|
|
51952
51986
|
output_manager_default.print(
|
|
51953
|
-
` ${
|
|
51987
|
+
` ${import_chalk194.default.gray("Headers:")} ${Object.keys(headers).length} header(s)
|
|
51954
51988
|
`
|
|
51955
51989
|
);
|
|
51956
51990
|
}
|
|
51957
51991
|
if (transforms.length > 0) {
|
|
51958
51992
|
output_manager_default.print(
|
|
51959
|
-
` ${
|
|
51993
|
+
` ${import_chalk194.default.gray("Transforms:")} ${transforms.length} transform(s)
|
|
51960
51994
|
`
|
|
51961
51995
|
);
|
|
51962
51996
|
}
|
|
51963
51997
|
if (hasConditions.length > 0 || missingConditions.length > 0) {
|
|
51964
51998
|
output_manager_default.print(
|
|
51965
|
-
` ${
|
|
51999
|
+
` ${import_chalk194.default.gray("Conditions:")} ${hasConditions.length} has, ${missingConditions.length} missing
|
|
51966
52000
|
`
|
|
51967
52001
|
);
|
|
51968
52002
|
}
|
|
@@ -51977,12 +52011,12 @@ async function add11(client, argv) {
|
|
|
51977
52011
|
}
|
|
51978
52012
|
output_manager_default.print(
|
|
51979
52013
|
`
|
|
51980
|
-
${
|
|
52014
|
+
${import_chalk194.default.bold("Test your changes:")} ${import_chalk194.default.cyan(`https://${version.alias}${testPath}`)}
|
|
51981
52015
|
`
|
|
51982
52016
|
);
|
|
51983
52017
|
}
|
|
51984
52018
|
output_manager_default.print(`
|
|
51985
|
-
${
|
|
52019
|
+
${import_chalk194.default.bold("Staging version:")} ${version.id}
|
|
51986
52020
|
`);
|
|
51987
52021
|
await offerAutoPromote(
|
|
51988
52022
|
client,
|
|
@@ -52238,15 +52272,15 @@ async function handleAIAdd2(client, projectId, teamId, aiPrompt, skipPrompts, pa
|
|
|
52238
52272
|
{ teamId }
|
|
52239
52273
|
);
|
|
52240
52274
|
output_manager_default.log(
|
|
52241
|
-
`${
|
|
52275
|
+
`${import_chalk194.default.cyan("Created")} route "${route.name}" ${import_chalk194.default.gray(addStamp())}`
|
|
52242
52276
|
);
|
|
52243
52277
|
output_manager_default.print(`
|
|
52244
|
-
${
|
|
52278
|
+
${import_chalk194.default.bold("Route:")} ${route.name}
|
|
52245
52279
|
`);
|
|
52246
|
-
output_manager_default.print(` ${
|
|
52280
|
+
output_manager_default.print(` ${import_chalk194.default.gray("ID:")} ${route.id}
|
|
52247
52281
|
`);
|
|
52248
52282
|
output_manager_default.print(`
|
|
52249
|
-
${
|
|
52283
|
+
${import_chalk194.default.bold("Staging version:")} ${version.id}
|
|
52250
52284
|
`);
|
|
52251
52285
|
await offerAutoPromote(
|
|
52252
52286
|
client,
|
|
@@ -52305,15 +52339,15 @@ async function createFromGenerated2(client, projectId, teamId, generated, existi
|
|
|
52305
52339
|
return 0;
|
|
52306
52340
|
}
|
|
52307
52341
|
output_manager_default.log(
|
|
52308
|
-
`${
|
|
52342
|
+
`${import_chalk194.default.cyan("Created")} route "${route.name}" ${import_chalk194.default.gray(addStamp())}`
|
|
52309
52343
|
);
|
|
52310
52344
|
output_manager_default.print(`
|
|
52311
|
-
${
|
|
52345
|
+
${import_chalk194.default.bold("Route:")} ${route.name}
|
|
52312
52346
|
`);
|
|
52313
|
-
output_manager_default.print(` ${
|
|
52347
|
+
output_manager_default.print(` ${import_chalk194.default.gray("ID:")} ${route.id}
|
|
52314
52348
|
`);
|
|
52315
52349
|
output_manager_default.print(`
|
|
52316
|
-
${
|
|
52350
|
+
${import_chalk194.default.bold("Staging version:")} ${version.id}
|
|
52317
52351
|
`);
|
|
52318
52352
|
await offerAutoPromote(
|
|
52319
52353
|
client,
|
|
@@ -52574,7 +52608,7 @@ async function sandbox(client) {
|
|
|
52574
52608
|
}
|
|
52575
52609
|
|
|
52576
52610
|
// src/commands/skills/index.ts
|
|
52577
|
-
var
|
|
52611
|
+
var import_chalk195 = __toESM(require_source(), 1);
|
|
52578
52612
|
var import_frameworks2 = __toESM(require_frameworks(), 1);
|
|
52579
52613
|
var import_fs_detectors = __toESM(require_dist3(), 1);
|
|
52580
52614
|
import { access as access2, readFile as readFile7 } from "fs/promises";
|
|
@@ -52787,7 +52821,7 @@ async function autoDetect(client, cwd, asJson, yes) {
|
|
|
52787
52821
|
"Could not detect a framework or notable dependencies in this directory."
|
|
52788
52822
|
);
|
|
52789
52823
|
output_manager_default.log(
|
|
52790
|
-
`Try searching directly: ${
|
|
52824
|
+
`Try searching directly: ${import_chalk195.default.cyan("vercel skills <query>")}`
|
|
52791
52825
|
);
|
|
52792
52826
|
return 0;
|
|
52793
52827
|
}
|
|
@@ -52799,7 +52833,7 @@ async function autoDetect(client, cwd, asJson, yes) {
|
|
|
52799
52833
|
if (deps.length > 0)
|
|
52800
52834
|
detectedParts.push(deps.join(", "));
|
|
52801
52835
|
output_manager_default.stopSpinner();
|
|
52802
|
-
output_manager_default.log(`Detected: ${
|
|
52836
|
+
output_manager_default.log(`Detected: ${import_chalk195.default.bold(detectedParts.join(" + "))}`);
|
|
52803
52837
|
output_manager_default.spinner("Searching for relevant skills...");
|
|
52804
52838
|
const queries = [];
|
|
52805
52839
|
if (framework) {
|
|
@@ -52865,7 +52899,7 @@ async function autoDetect(client, cwd, asJson, yes) {
|
|
|
52865
52899
|
return exitCode2;
|
|
52866
52900
|
const installable = displayedResults.map((s, i) => ({ ...s, installed: installedChecks[i] })).filter((s) => !s.installed);
|
|
52867
52901
|
if (installable.length === 0) {
|
|
52868
|
-
output_manager_default.log(
|
|
52902
|
+
output_manager_default.log(import_chalk195.default.green("All recommended skills are already installed."));
|
|
52869
52903
|
return 0;
|
|
52870
52904
|
}
|
|
52871
52905
|
let toInstall;
|
|
@@ -52880,7 +52914,7 @@ async function autoDetect(client, cwd, asJson, yes) {
|
|
|
52880
52914
|
const selected = await client.input.checkbox({
|
|
52881
52915
|
message: "Select skills to install",
|
|
52882
52916
|
choices: installable.map((s) => ({
|
|
52883
|
-
name: `${s.skillId} ${
|
|
52917
|
+
name: `${s.skillId} ${import_chalk195.default.gray(`(${s.source})`)}`,
|
|
52884
52918
|
value: s,
|
|
52885
52919
|
checked: true
|
|
52886
52920
|
}))
|
|
@@ -52936,7 +52970,7 @@ async function displayResults(client, results, asJson, context, cwd) {
|
|
|
52936
52970
|
if (results.length === 0) {
|
|
52937
52971
|
output_manager_default.log("No skills found.");
|
|
52938
52972
|
output_manager_default.log(
|
|
52939
|
-
`Try searching directly: ${
|
|
52973
|
+
`Try searching directly: ${import_chalk195.default.cyan("vercel skills <query>")}`
|
|
52940
52974
|
);
|
|
52941
52975
|
return empty;
|
|
52942
52976
|
}
|
|
@@ -52956,12 +52990,12 @@ async function displayResults(client, results, asJson, context, cwd) {
|
|
|
52956
52990
|
return { exitCode: 0, results, installedChecks };
|
|
52957
52991
|
}
|
|
52958
52992
|
const tableData = [
|
|
52959
|
-
["Skill", "Installs", "Source", ""].map((h) =>
|
|
52993
|
+
["Skill", "Installs", "Source", ""].map((h) => import_chalk195.default.bold(import_chalk195.default.cyan(h))),
|
|
52960
52994
|
...results.map((s, i) => [
|
|
52961
52995
|
s.skillId,
|
|
52962
52996
|
formatInstalls(s.installs),
|
|
52963
|
-
|
|
52964
|
-
installedChecks[i] ?
|
|
52997
|
+
import_chalk195.default.gray(s.source),
|
|
52998
|
+
installedChecks[i] ? import_chalk195.default.green("installed") : ""
|
|
52965
52999
|
])
|
|
52966
53000
|
];
|
|
52967
53001
|
output_manager_default.log(`
|
|
@@ -52980,16 +53014,16 @@ function runCommand(cmd2, args) {
|
|
|
52980
53014
|
|
|
52981
53015
|
// src/commands/target/list.ts
|
|
52982
53016
|
var import_ms35 = __toESM(require_ms(), 1);
|
|
52983
|
-
var
|
|
53017
|
+
var import_chalk196 = __toESM(require_source(), 1);
|
|
52984
53018
|
function formatBranchMatcher(branchMatcher) {
|
|
52985
53019
|
if (branchMatcher?.type === "equals") {
|
|
52986
53020
|
return branchMatcher.pattern;
|
|
52987
53021
|
} else if (branchMatcher?.type === "startsWith") {
|
|
52988
|
-
return `${branchMatcher.pattern}${
|
|
53022
|
+
return `${branchMatcher.pattern}${import_chalk196.default.dim("*")}`;
|
|
52989
53023
|
} else if (branchMatcher?.type === "endsWith") {
|
|
52990
|
-
return `${
|
|
53024
|
+
return `${import_chalk196.default.dim("*")}${branchMatcher.pattern}`;
|
|
52991
53025
|
}
|
|
52992
|
-
return
|
|
53026
|
+
return import_chalk196.default.dim("No branch configuration");
|
|
52993
53027
|
}
|
|
52994
53028
|
var TYPE_MAP = {
|
|
52995
53029
|
production: "Production",
|
|
@@ -52998,8 +53032,8 @@ var TYPE_MAP = {
|
|
|
52998
53032
|
};
|
|
52999
53033
|
var BRANCH_TRACKING_MAP = {
|
|
53000
53034
|
production: (project) => project.link?.productionBranch ?? "main",
|
|
53001
|
-
preview: (_, env) => env.slug === "preview" ?
|
|
53002
|
-
development: () =>
|
|
53035
|
+
preview: (_, env) => env.slug === "preview" ? import_chalk196.default.dim("All unassigned git branches") : formatBranchMatcher(env.branchMatcher),
|
|
53036
|
+
development: () => import_chalk196.default.dim("Accessible via CLI")
|
|
53003
53037
|
};
|
|
53004
53038
|
async function list14(client, argv) {
|
|
53005
53039
|
const { cwd } = client;
|
|
@@ -53068,12 +53102,12 @@ async function list14(client, argv) {
|
|
|
53068
53102
|
`);
|
|
53069
53103
|
} else {
|
|
53070
53104
|
output_manager_default.log(
|
|
53071
|
-
`${result.length} Environment${result.length === 1 ? "" : "s"} found under ${projectSlugLink} ${
|
|
53105
|
+
`${result.length} Environment${result.length === 1 ? "" : "s"} found under ${projectSlugLink} ${import_chalk196.default.gray(`[${elapsed2}]`)}`
|
|
53072
53106
|
);
|
|
53073
53107
|
const tablePrint = table(
|
|
53074
53108
|
[
|
|
53075
53109
|
["Target Name", "Branch Tracking", "Type", "Updated"].map(
|
|
53076
|
-
(header) =>
|
|
53110
|
+
(header) => import_chalk196.default.bold(import_chalk196.default.cyan(header))
|
|
53077
53111
|
),
|
|
53078
53112
|
...result.flatMap((target) => {
|
|
53079
53113
|
return [
|
|
@@ -53081,7 +53115,7 @@ async function list14(client, argv) {
|
|
|
53081
53115
|
formatEnvironment(link.org.slug, link.project.name, target),
|
|
53082
53116
|
BRANCH_TRACKING_MAP[target.type](link.project, target),
|
|
53083
53117
|
TYPE_MAP[target.type],
|
|
53084
|
-
|
|
53118
|
+
import_chalk196.default.gray(
|
|
53085
53119
|
target.updatedAt > 0 ? (0, import_ms35.default)(Date.now() - target.updatedAt) : "-"
|
|
53086
53120
|
)
|
|
53087
53121
|
]
|
|
@@ -53193,7 +53227,7 @@ async function main28(client) {
|
|
|
53193
53227
|
}
|
|
53194
53228
|
|
|
53195
53229
|
// src/commands/teams/list.ts
|
|
53196
|
-
var
|
|
53230
|
+
var import_chalk197 = __toESM(require_source(), 1);
|
|
53197
53231
|
|
|
53198
53232
|
// src/util/telemetry/commands/teams/list.ts
|
|
53199
53233
|
var TeamsListTelemetryClient = class extends TelemetryClient {
|
|
@@ -53331,7 +53365,7 @@ async function list15(client, argv) {
|
|
|
53331
53365
|
client.stdout.write("\n");
|
|
53332
53366
|
const teamTable = table(
|
|
53333
53367
|
[
|
|
53334
|
-
["id", "Team name"].map((str) => (0,
|
|
53368
|
+
["id", "Team name"].map((str) => (0, import_chalk197.gray)(str)),
|
|
53335
53369
|
...teamList.map((team) => [team.value, team.name])
|
|
53336
53370
|
],
|
|
53337
53371
|
{ hsep: 5 }
|
|
@@ -53359,10 +53393,10 @@ async function list15(client, argv) {
|
|
|
53359
53393
|
}
|
|
53360
53394
|
|
|
53361
53395
|
// src/commands/teams/add.ts
|
|
53362
|
-
var
|
|
53396
|
+
var import_chalk199 = __toESM(require_source(), 1);
|
|
53363
53397
|
|
|
53364
53398
|
// src/commands/teams/invite.ts
|
|
53365
|
-
var
|
|
53399
|
+
var import_chalk198 = __toESM(require_source(), 1);
|
|
53366
53400
|
|
|
53367
53401
|
// src/util/input/regexes.ts
|
|
53368
53402
|
var email = /.+@.+\..+$/;
|
|
@@ -53505,7 +53539,7 @@ Please select a team scope using ${getCommandName(
|
|
|
53505
53539
|
return 1;
|
|
53506
53540
|
}
|
|
53507
53541
|
output_manager_default.log(
|
|
53508
|
-
introMsg || `Inviting team members to ${
|
|
53542
|
+
introMsg || `Inviting team members to ${import_chalk198.default.bold(currentTeam.name)}`
|
|
53509
53543
|
);
|
|
53510
53544
|
telemetry2.trackCliArgumentEmail(emails);
|
|
53511
53545
|
if (emails.length > 0) {
|
|
@@ -53548,10 +53582,10 @@ Please select a team scope using ${getCommandName(
|
|
|
53548
53582
|
throw err;
|
|
53549
53583
|
}
|
|
53550
53584
|
output_manager_default.log(
|
|
53551
|
-
`${
|
|
53585
|
+
`${import_chalk198.default.cyan(chars_default.tick)} ${email3}${userInfo ? ` (${userInfo})` : ""} ${elapsed2()}`
|
|
53552
53586
|
);
|
|
53553
53587
|
} else {
|
|
53554
|
-
output_manager_default.log(`${
|
|
53588
|
+
output_manager_default.log(`${import_chalk198.default.red(`\u2716 ${email3}`)} ${import_chalk198.default.gray("[invalid]")}`);
|
|
53555
53589
|
}
|
|
53556
53590
|
}
|
|
53557
53591
|
return 0;
|
|
@@ -53584,15 +53618,15 @@ Please select a team scope using ${getCommandName(
|
|
|
53584
53618
|
);
|
|
53585
53619
|
email2 = `${email2}${username ? ` (${username})` : ""} ${elapsed2()}`;
|
|
53586
53620
|
emails.push(email2);
|
|
53587
|
-
output_manager_default.log(`${
|
|
53621
|
+
output_manager_default.log(`${import_chalk198.default.cyan(chars_default.tick)} ${sentEmailPrefix}${email2}`);
|
|
53588
53622
|
if (hasError) {
|
|
53589
53623
|
hasError = false;
|
|
53590
53624
|
process.stderr.write(eraseLines(emails.length + 2));
|
|
53591
53625
|
output_manager_default.log(
|
|
53592
|
-
introMsg || `Inviting team members to ${
|
|
53626
|
+
introMsg || `Inviting team members to ${import_chalk198.default.bold(currentTeam.name)}`
|
|
53593
53627
|
);
|
|
53594
53628
|
for (const email3 of emails) {
|
|
53595
|
-
output_manager_default.log(`${
|
|
53629
|
+
output_manager_default.log(`${import_chalk198.default.cyan(chars_default.tick)} ${inviteUserPrefix}${email3}`);
|
|
53596
53630
|
}
|
|
53597
53631
|
}
|
|
53598
53632
|
} catch (err) {
|
|
@@ -53601,7 +53635,7 @@ Please select a team scope using ${getCommandName(
|
|
|
53601
53635
|
output_manager_default.error((0, import_error_utils18.errorToString)(err));
|
|
53602
53636
|
hasError = true;
|
|
53603
53637
|
for (const email3 of emails) {
|
|
53604
|
-
output_manager_default.log(`${
|
|
53638
|
+
output_manager_default.log(`${import_chalk198.default.cyan(chars_default.tick)} ${sentEmailPrefix}${email3}`);
|
|
53605
53639
|
}
|
|
53606
53640
|
}
|
|
53607
53641
|
}
|
|
@@ -53614,7 +53648,7 @@ Please select a team scope using ${getCommandName(
|
|
|
53614
53648
|
} else {
|
|
53615
53649
|
output_manager_default.success(`Invited ${n} teammate${n > 1 ? "s" : ""}`);
|
|
53616
53650
|
for (const email3 of emails) {
|
|
53617
|
-
output_manager_default.log(`${
|
|
53651
|
+
output_manager_default.log(`${import_chalk198.default.cyan(chars_default.tick)} ${inviteUserPrefix}${email3}`);
|
|
53618
53652
|
}
|
|
53619
53653
|
}
|
|
53620
53654
|
return 0;
|
|
@@ -53654,7 +53688,7 @@ async function patchTeam(client, teamId, payload) {
|
|
|
53654
53688
|
var import_error_utils19 = __toESM(require_dist(), 1);
|
|
53655
53689
|
var validateSlug = (value) => /^[a-z]+[a-z0-9_-]*$/.test(value);
|
|
53656
53690
|
var validateName = (value) => /^[ a-zA-Z0-9_-]+$/.test(value);
|
|
53657
|
-
var teamUrlPrefix = "Team URL".padEnd(14) +
|
|
53691
|
+
var teamUrlPrefix = "Team URL".padEnd(14) + import_chalk199.default.gray("vercel.com/");
|
|
53658
53692
|
var teamNamePrefix = "Team Name".padEnd(14);
|
|
53659
53693
|
var CREATE_TEAM_TIMEOUT_MS = 3e4;
|
|
53660
53694
|
var TIMEOUT_HINT = "The request took too long and was cancelled. The team URL may already be taken, or the server may be slow. Try a different slug (e.g. your-company-name) or try again later. Run with `--debug` to see where the request is getting stuck.";
|
|
@@ -53705,7 +53739,7 @@ function formatCreateTeamError(err, slug) {
|
|
|
53705
53739
|
}
|
|
53706
53740
|
if (isAPIError(err) && err.status === 400) {
|
|
53707
53741
|
const msg = (err.serverMessage || err.message || "").toLowerCase();
|
|
53708
|
-
const slugHint = msg.includes("slug") || msg.includes("cannot be used") ? `That team URL (${
|
|
53742
|
+
const slugHint = msg.includes("slug") || msg.includes("cannot be used") ? `That team URL (${import_chalk199.default.cyan(`vercel.com/${slug}`)}) is not available. It may already be taken. ` : "";
|
|
53709
53743
|
const paymentHint = msg.includes("payment") ? "A payment method is required to create a team. " : "";
|
|
53710
53744
|
const prefix = slugHint || paymentHint;
|
|
53711
53745
|
return prefix ? `${prefix}${prefix.trim() ? "\n" : ""}${err.serverMessage || err.message}` : err.serverMessage || err.message;
|
|
@@ -53900,7 +53934,7 @@ async function add12(client, argv = []) {
|
|
|
53900
53934
|
client.config.currentTeam = team2.id;
|
|
53901
53935
|
writeToConfigFile(client.config);
|
|
53902
53936
|
output_manager_default.success(
|
|
53903
|
-
`Team ${
|
|
53937
|
+
`Team ${import_chalk199.default.bold(team2.name)} (${import_chalk199.default.cyan(`vercel.com/${slug2}`)}) created.`
|
|
53904
53938
|
);
|
|
53905
53939
|
return 0;
|
|
53906
53940
|
}
|
|
@@ -53908,7 +53942,7 @@ async function add12(client, argv = []) {
|
|
|
53908
53942
|
let team;
|
|
53909
53943
|
let elapsed2;
|
|
53910
53944
|
output_manager_default.log(
|
|
53911
|
-
`Pick a team identifier for its URL (e.g.: ${
|
|
53945
|
+
`Pick a team identifier for its URL (e.g.: ${import_chalk199.default.cyan(
|
|
53912
53946
|
"`vercel.com/acme`"
|
|
53913
53947
|
)})`
|
|
53914
53948
|
);
|
|
@@ -53940,7 +53974,7 @@ async function add12(client, argv = []) {
|
|
|
53940
53974
|
output_manager_default.stopSpinner();
|
|
53941
53975
|
process.stdout.write(eraseLines(2));
|
|
53942
53976
|
output_manager_default.success(`Team created ${elapsed2()}`);
|
|
53943
|
-
output_manager_default.log(`${
|
|
53977
|
+
output_manager_default.log(`${import_chalk199.default.cyan(`${chars_default.tick} `) + teamUrlPrefix + slug}
|
|
53944
53978
|
`);
|
|
53945
53979
|
output_manager_default.log("Pick a display name for your team");
|
|
53946
53980
|
let name = nameFlag?.trim();
|
|
@@ -53964,7 +53998,7 @@ async function add12(client, argv = []) {
|
|
|
53964
53998
|
process.stdout.write(eraseLines(2));
|
|
53965
53999
|
team = Object.assign(team, res);
|
|
53966
54000
|
output_manager_default.success(`Team name saved ${elapsed2()}`);
|
|
53967
|
-
output_manager_default.log(`${
|
|
54001
|
+
output_manager_default.log(`${import_chalk199.default.cyan(`${chars_default.tick} `) + teamNamePrefix + team.name}
|
|
53968
54002
|
`);
|
|
53969
54003
|
output_manager_default.spinner("Saving");
|
|
53970
54004
|
client.config.currentTeam = team.id;
|
|
@@ -53980,7 +54014,7 @@ async function add12(client, argv = []) {
|
|
|
53980
54014
|
}
|
|
53981
54015
|
|
|
53982
54016
|
// src/commands/teams/switch.ts
|
|
53983
|
-
var
|
|
54017
|
+
var import_chalk200 = __toESM(require_source(), 1);
|
|
53984
54018
|
|
|
53985
54019
|
// src/util/telemetry/commands/teams/switch.ts
|
|
53986
54020
|
var TeamsSwitchTelemetryClient = class extends TelemetryClient {
|
|
@@ -54122,7 +54156,7 @@ async function change(client, argv) {
|
|
|
54122
54156
|
let title4 = `${team.name} (${team.slug})`;
|
|
54123
54157
|
const selected = team.id === currentTeam?.id;
|
|
54124
54158
|
if (selected) {
|
|
54125
|
-
title4 += ` ${
|
|
54159
|
+
title4 += ` ${import_chalk200.default.bold("(current)")}`;
|
|
54126
54160
|
}
|
|
54127
54161
|
if (team.limited) {
|
|
54128
54162
|
title4 += ` ${emoji("locked")}`;
|
|
@@ -54134,7 +54168,7 @@ async function change(client, argv) {
|
|
|
54134
54168
|
selected
|
|
54135
54169
|
};
|
|
54136
54170
|
});
|
|
54137
|
-
let suffix = personalScopeSelected ? ` ${
|
|
54171
|
+
let suffix = personalScopeSelected ? ` ${import_chalk200.default.bold("(current)")}` : "";
|
|
54138
54172
|
if (user.limited) {
|
|
54139
54173
|
suffix += ` ${emoji("locked")}`;
|
|
54140
54174
|
}
|
|
@@ -54224,7 +54258,7 @@ async function change(client, argv) {
|
|
|
54224
54258
|
}
|
|
54225
54259
|
updateCurrentTeam(config);
|
|
54226
54260
|
output_manager_default.success(
|
|
54227
|
-
`Your account (${
|
|
54261
|
+
`Your account (${import_chalk200.default.bold(user.username)}) is now active!`
|
|
54228
54262
|
);
|
|
54229
54263
|
await warnIfStaleLinkExists(client, user.id);
|
|
54230
54264
|
return 0;
|
|
@@ -54248,7 +54282,7 @@ async function change(client, argv) {
|
|
|
54248
54282
|
);
|
|
54249
54283
|
}
|
|
54250
54284
|
output_manager_default.error(
|
|
54251
|
-
`You do not have permission to access scope ${
|
|
54285
|
+
`You do not have permission to access scope ${import_chalk200.default.bold(desiredSlug)}.`
|
|
54252
54286
|
);
|
|
54253
54287
|
return 1;
|
|
54254
54288
|
}
|
|
@@ -54266,7 +54300,7 @@ async function change(client, argv) {
|
|
|
54266
54300
|
}
|
|
54267
54301
|
updateCurrentTeam(config, newTeam);
|
|
54268
54302
|
output_manager_default.success(
|
|
54269
|
-
`The team ${
|
|
54303
|
+
`The team ${import_chalk200.default.bold(newTeam.name)} (${newTeam.slug}) is now active!`
|
|
54270
54304
|
);
|
|
54271
54305
|
await warnIfStaleLinkExists(client, newTeam.id);
|
|
54272
54306
|
return 0;
|
|
@@ -54463,7 +54497,7 @@ async function request(client, argv) {
|
|
|
54463
54497
|
}
|
|
54464
54498
|
|
|
54465
54499
|
// src/commands/teams/members.ts
|
|
54466
|
-
var
|
|
54500
|
+
var import_chalk201 = __toESM(require_source(), 1);
|
|
54467
54501
|
async function members2(client, argv) {
|
|
54468
54502
|
let parsedArgs;
|
|
54469
54503
|
const flagsSpecification = getFlagsSpecification(membersSubcommand2.options);
|
|
@@ -54519,7 +54553,7 @@ async function members2(client, argv) {
|
|
|
54519
54553
|
return 0;
|
|
54520
54554
|
}
|
|
54521
54555
|
const rows = [
|
|
54522
|
-
["uid", "Identity", "Role"].map((str) => (0,
|
|
54556
|
+
["uid", "Identity", "Role"].map((str) => (0, import_chalk201.gray)(str)),
|
|
54523
54557
|
...members3.map((member) => [
|
|
54524
54558
|
member.uid,
|
|
54525
54559
|
member.username || member.email || "",
|
|
@@ -54537,7 +54571,7 @@ async function members2(client, argv) {
|
|
|
54537
54571
|
}
|
|
54538
54572
|
|
|
54539
54573
|
// src/commands/teams/sso.ts
|
|
54540
|
-
var
|
|
54574
|
+
var import_chalk202 = __toESM(require_source(), 1);
|
|
54541
54575
|
async function sso(client, argv) {
|
|
54542
54576
|
let parsedArgs;
|
|
54543
54577
|
const flagsSpecification = getFlagsSpecification(ssoSubcommand.options);
|
|
@@ -54572,14 +54606,14 @@ async function sso(client, argv) {
|
|
|
54572
54606
|
`);
|
|
54573
54607
|
return 0;
|
|
54574
54608
|
}
|
|
54575
|
-
output_manager_default.log(`${
|
|
54609
|
+
output_manager_default.log(`${import_chalk202.default.bold("Team")} ${full.name} (${import_chalk202.default.cyan(full.slug)})`);
|
|
54576
54610
|
if (full.saml) {
|
|
54577
54611
|
output_manager_default.log(
|
|
54578
|
-
`${
|
|
54612
|
+
`${import_chalk202.default.cyan("SAML enforced:")} ${String(full.saml.enforced)}`
|
|
54579
54613
|
);
|
|
54580
54614
|
if (full.saml.connection?.state) {
|
|
54581
54615
|
output_manager_default.log(
|
|
54582
|
-
`${
|
|
54616
|
+
`${import_chalk202.default.cyan("Connection state:")} ${full.saml.connection.state}`
|
|
54583
54617
|
);
|
|
54584
54618
|
}
|
|
54585
54619
|
} else {
|
|
@@ -54795,7 +54829,7 @@ async function teams(client) {
|
|
|
54795
54829
|
}
|
|
54796
54830
|
|
|
54797
54831
|
// src/commands/tokens/ls.ts
|
|
54798
|
-
var
|
|
54832
|
+
var import_chalk203 = __toESM(require_source(), 1);
|
|
54799
54833
|
async function ls8(client, argv) {
|
|
54800
54834
|
let parsedArgs;
|
|
54801
54835
|
const flagsSpecification = getFlagsSpecification(listSubcommand17.options);
|
|
@@ -54836,7 +54870,7 @@ async function ls8(client, argv) {
|
|
|
54836
54870
|
return 0;
|
|
54837
54871
|
}
|
|
54838
54872
|
const rows = [
|
|
54839
|
-
["id", "name", "type", "active"].map((h) => (0,
|
|
54873
|
+
["id", "name", "type", "active"].map((h) => (0, import_chalk203.gray)(h)),
|
|
54840
54874
|
...tokens.map((t) => [
|
|
54841
54875
|
t.id ?? "",
|
|
54842
54876
|
t.name ?? "",
|
|
@@ -55194,16 +55228,16 @@ async function main29(client) {
|
|
|
55194
55228
|
}
|
|
55195
55229
|
|
|
55196
55230
|
// src/commands/telemetry/status.ts
|
|
55197
|
-
var
|
|
55231
|
+
var import_chalk204 = __toESM(require_source(), 1);
|
|
55198
55232
|
async function status2(client) {
|
|
55199
55233
|
const enabled = client.config.telemetry?.enabled !== false;
|
|
55200
|
-
const status3 = enabled ?
|
|
55234
|
+
const status3 = enabled ? import_chalk204.default.green("Enabled") : import_chalk204.default.red("Disabled");
|
|
55201
55235
|
output_manager_default.print("\n");
|
|
55202
|
-
output_manager_default.log(`${
|
|
55236
|
+
output_manager_default.log(`${import_chalk204.default.bold("Telemetry status")}: ${status3}
|
|
55203
55237
|
`);
|
|
55204
55238
|
const learnMoreMessage = `
|
|
55205
55239
|
|
|
55206
|
-
Learn more: ${
|
|
55240
|
+
Learn more: ${import_chalk204.default.cyan("https://vercel.com/docs/cli/about-telemetry")}`;
|
|
55207
55241
|
if (enabled) {
|
|
55208
55242
|
output_manager_default.log(`You have opted in to Vercel CLI telemetry${learnMoreMessage}`);
|
|
55209
55243
|
} else {
|
|
@@ -55297,7 +55331,7 @@ var TelemetryTelemetryClient = class extends TelemetryClient {
|
|
|
55297
55331
|
};
|
|
55298
55332
|
|
|
55299
55333
|
// src/commands/telemetry/index.ts
|
|
55300
|
-
var
|
|
55334
|
+
var import_chalk205 = __toESM(require_source(), 1);
|
|
55301
55335
|
var COMMAND_CONFIG41 = {
|
|
55302
55336
|
status: getCommandAliases(statusSubcommand4),
|
|
55303
55337
|
enable: getCommandAliases(enableSubcommand4),
|
|
@@ -55365,7 +55399,7 @@ async function telemetry(client) {
|
|
|
55365
55399
|
default: {
|
|
55366
55400
|
const errorMessage2 = parsedArguments.args.length !== 2 ? "Invalid number of arguments" : "Invalid subcommand";
|
|
55367
55401
|
output_manager_default.print(
|
|
55368
|
-
`${
|
|
55402
|
+
`${import_chalk205.default.red("Error")}: ${errorMessage2}. See help instructions for usage:
|
|
55369
55403
|
`
|
|
55370
55404
|
);
|
|
55371
55405
|
output_manager_default.print(help(telemetryCommand, { columns: client.stderr.columns }));
|
|
@@ -56197,7 +56231,7 @@ async function upgrade(client) {
|
|
|
56197
56231
|
}
|
|
56198
56232
|
|
|
56199
56233
|
// src/commands/usage/index.ts
|
|
56200
|
-
var
|
|
56234
|
+
var import_chalk209 = __toESM(require_source(), 1);
|
|
56201
56235
|
var import_jsonlines = __toESM(require_jsonlines(), 1);
|
|
56202
56236
|
|
|
56203
56237
|
// src/util/telemetry/commands/usage/index.ts
|
|
@@ -56351,19 +56385,19 @@ function isValidGroupByDimension(value) {
|
|
|
56351
56385
|
}
|
|
56352
56386
|
|
|
56353
56387
|
// src/commands/usage/output-aggregated.ts
|
|
56354
|
-
var
|
|
56388
|
+
var import_chalk206 = __toESM(require_source(), 1);
|
|
56355
56389
|
function outputAggregated({ data, startTime }) {
|
|
56356
56390
|
const { print, log } = output_manager_default;
|
|
56357
56391
|
log(
|
|
56358
|
-
`Usage for ${
|
|
56392
|
+
`Usage for ${import_chalk206.default.bold(data.contextName)} ${elapsed(Date.now() - startTime)}`
|
|
56359
56393
|
);
|
|
56360
56394
|
log("");
|
|
56361
56395
|
const periodSuffix = data.usingDefaults ? " (current month)" : "";
|
|
56362
56396
|
log(
|
|
56363
|
-
`${
|
|
56397
|
+
`${import_chalk206.default.gray("Period:")} ${data.fromDisplay} to ${data.toDisplay}${periodSuffix}`
|
|
56364
56398
|
);
|
|
56365
|
-
log(`${
|
|
56366
|
-
log(`${
|
|
56399
|
+
log(`${import_chalk206.default.gray("Charges processed:")} ${data.chargeCount}`);
|
|
56400
|
+
log(`${import_chalk206.default.gray("Pricing unit:")} ${data.pricingUnit}`);
|
|
56367
56401
|
log("");
|
|
56368
56402
|
const sortedServices = [...data.services.entries()].sort(
|
|
56369
56403
|
(a, b) => b[1].billedCost - a[1].billedCost
|
|
@@ -56381,15 +56415,15 @@ function outputAggregated({ data, startTime }) {
|
|
|
56381
56415
|
formatCurrency(svc.billedCost)
|
|
56382
56416
|
]);
|
|
56383
56417
|
rows.push([
|
|
56384
|
-
|
|
56385
|
-
|
|
56418
|
+
import_chalk206.default.bold("Total"),
|
|
56419
|
+
import_chalk206.default.bold(
|
|
56386
56420
|
formatQuantity(data.grandTotals.pricingQuantity, data.pricingUnit)
|
|
56387
56421
|
),
|
|
56388
|
-
|
|
56389
|
-
|
|
56422
|
+
import_chalk206.default.bold(formatCurrency(data.grandTotals.effectiveCost)),
|
|
56423
|
+
import_chalk206.default.bold(formatCurrency(data.grandTotals.billedCost))
|
|
56390
56424
|
]);
|
|
56391
56425
|
const tablePrint = table(
|
|
56392
|
-
[headers.map((h) =>
|
|
56426
|
+
[headers.map((h) => import_chalk206.default.bold(import_chalk206.default.cyan(h))), ...rows],
|
|
56393
56427
|
{ hsep: 4, align: ["l", "r", "r", "r"] }
|
|
56394
56428
|
).replace(/^/gm, " ");
|
|
56395
56429
|
print(`
|
|
@@ -56397,12 +56431,12 @@ ${tablePrint}
|
|
|
56397
56431
|
|
|
56398
56432
|
`);
|
|
56399
56433
|
log(
|
|
56400
|
-
`${
|
|
56434
|
+
`${import_chalk206.default.gray("Amount due:")} ${import_chalk206.default.bold(formatCurrency(data.grandTotals.billedCost))}`
|
|
56401
56435
|
);
|
|
56402
56436
|
}
|
|
56403
56437
|
|
|
56404
56438
|
// src/commands/usage/output-breakdown.ts
|
|
56405
|
-
var
|
|
56439
|
+
var import_chalk207 = __toESM(require_source(), 1);
|
|
56406
56440
|
function getPeriodLabel(period) {
|
|
56407
56441
|
switch (period) {
|
|
56408
56442
|
case "daily":
|
|
@@ -56423,15 +56457,15 @@ function outputBreakdown({
|
|
|
56423
56457
|
const { print, log } = output_manager_default;
|
|
56424
56458
|
const periodLabel = getPeriodLabel(breakdownPeriod);
|
|
56425
56459
|
log(
|
|
56426
|
-
`${periodLabel} Usage for ${
|
|
56460
|
+
`${periodLabel} Usage for ${import_chalk207.default.bold(data.contextName)} ${elapsed(Date.now() - startTime)}`
|
|
56427
56461
|
);
|
|
56428
56462
|
log("");
|
|
56429
56463
|
const periodSuffix = data.usingDefaults ? " (current month)" : "";
|
|
56430
56464
|
log(
|
|
56431
|
-
`${
|
|
56465
|
+
`${import_chalk207.default.gray("Period:")} ${data.fromDisplay} to ${data.toDisplay}${periodSuffix}`
|
|
56432
56466
|
);
|
|
56433
|
-
log(`${
|
|
56434
|
-
log(`${
|
|
56467
|
+
log(`${import_chalk207.default.gray("Charges processed:")} ${data.chargeCount}`);
|
|
56468
|
+
log(`${import_chalk207.default.gray("Pricing unit:")} ${data.pricingUnit}`);
|
|
56435
56469
|
log("");
|
|
56436
56470
|
const sortedServices = [...data.services.entries()].sort(
|
|
56437
56471
|
(a, b) => b[1].billedCost - a[1].billedCost
|
|
@@ -56448,7 +56482,7 @@ function outputBreakdown({
|
|
|
56448
56482
|
(a, b) => b[1].billedCost - a[1].billedCost
|
|
56449
56483
|
);
|
|
56450
56484
|
log(
|
|
56451
|
-
`${
|
|
56485
|
+
`${import_chalk207.default.bold(import_chalk207.default.cyan(periodKey))} (Total: ${formatQuantity(periodData.totalPricingQuantity, data.pricingUnit)}, ${formatCurrency(periodData.totalBilledCost)})`
|
|
56452
56486
|
);
|
|
56453
56487
|
const headers = ["Service", quantityHeader, "Billed Cost"];
|
|
56454
56488
|
const rows = sortedPeriodServices.map(([name, svc]) => [
|
|
@@ -56457,7 +56491,7 @@ function outputBreakdown({
|
|
|
56457
56491
|
formatCurrency(svc.billedCost)
|
|
56458
56492
|
]);
|
|
56459
56493
|
const tablePrint = table(
|
|
56460
|
-
[headers.map((h) =>
|
|
56494
|
+
[headers.map((h) => import_chalk207.default.bold(import_chalk207.default.gray(h))), ...rows],
|
|
56461
56495
|
{ hsep: 4, align: ["l", "r", "r"] }
|
|
56462
56496
|
).replace(/^/gm, " ");
|
|
56463
56497
|
print(`${tablePrint}
|
|
@@ -56466,7 +56500,7 @@ function outputBreakdown({
|
|
|
56466
56500
|
}
|
|
56467
56501
|
|
|
56468
56502
|
// src/commands/usage/output-group-by.ts
|
|
56469
|
-
var
|
|
56503
|
+
var import_chalk208 = __toESM(require_source(), 1);
|
|
56470
56504
|
function getDimensionLabel(dimension) {
|
|
56471
56505
|
switch (dimension) {
|
|
56472
56506
|
case "project":
|
|
@@ -56485,15 +56519,15 @@ function outputGroupBy({
|
|
|
56485
56519
|
const { print, log } = output_manager_default;
|
|
56486
56520
|
const dimensionLabel = getDimensionLabel(groupByDimension);
|
|
56487
56521
|
log(
|
|
56488
|
-
`Usage by ${dimensionLabel} for ${
|
|
56522
|
+
`Usage by ${dimensionLabel} for ${import_chalk208.default.bold(data.contextName)} ${elapsed(Date.now() - startTime)}`
|
|
56489
56523
|
);
|
|
56490
56524
|
log("");
|
|
56491
56525
|
const periodSuffix = data.usingDefaults ? " (current month)" : "";
|
|
56492
56526
|
log(
|
|
56493
|
-
`${
|
|
56527
|
+
`${import_chalk208.default.gray("Period:")} ${data.fromDisplay} to ${data.toDisplay}${periodSuffix}`
|
|
56494
56528
|
);
|
|
56495
|
-
log(`${
|
|
56496
|
-
log(`${
|
|
56529
|
+
log(`${import_chalk208.default.gray("Charges processed:")} ${data.chargeCount}`);
|
|
56530
|
+
log(`${import_chalk208.default.gray("Pricing unit:")} ${data.pricingUnit}`);
|
|
56497
56531
|
log("");
|
|
56498
56532
|
const sortedGroups = [...data.groupByUsage.entries()].sort(
|
|
56499
56533
|
(a, b) => b[1].totalBilledCost - a[1].totalBilledCost
|
|
@@ -56505,7 +56539,7 @@ function outputGroupBy({
|
|
|
56505
56539
|
const quantityHeader = data.pricingUnit === "USD" ? "Usage (USD)" : data.pricingUnit;
|
|
56506
56540
|
for (const [groupName, groupData] of sortedGroups) {
|
|
56507
56541
|
log(
|
|
56508
|
-
`${
|
|
56542
|
+
`${import_chalk208.default.bold(import_chalk208.default.cyan(groupName))} (Total: ${formatQuantity(groupData.totalPricingQuantity, data.pricingUnit)}, ${formatCurrency(groupData.totalBilledCost)})`
|
|
56509
56543
|
);
|
|
56510
56544
|
const sortedServices = [...groupData.services.entries()].sort(
|
|
56511
56545
|
(a, b) => b[1].billedCost - a[1].billedCost
|
|
@@ -56517,7 +56551,7 @@ function outputGroupBy({
|
|
|
56517
56551
|
formatCurrency(svc.billedCost)
|
|
56518
56552
|
]);
|
|
56519
56553
|
const tablePrint = table(
|
|
56520
|
-
[headers.map((h) =>
|
|
56554
|
+
[headers.map((h) => import_chalk208.default.bold(import_chalk208.default.gray(h))), ...rows],
|
|
56521
56555
|
{ hsep: 4, align: ["l", "r", "r"] }
|
|
56522
56556
|
).replace(/^/gm, " ");
|
|
56523
56557
|
print(`${tablePrint}
|
|
@@ -56525,7 +56559,7 @@ function outputGroupBy({
|
|
|
56525
56559
|
}
|
|
56526
56560
|
log("");
|
|
56527
56561
|
log(
|
|
56528
|
-
`${
|
|
56562
|
+
`${import_chalk208.default.gray("Amount due:")} ${import_chalk208.default.bold(formatCurrency(data.grandTotals.billedCost))}`
|
|
56529
56563
|
);
|
|
56530
56564
|
}
|
|
56531
56565
|
|
|
@@ -56721,7 +56755,7 @@ async function usage(client) {
|
|
|
56721
56755
|
}
|
|
56722
56756
|
const start = Date.now();
|
|
56723
56757
|
if (!asJson) {
|
|
56724
|
-
spinner(`Fetching usage data for ${
|
|
56758
|
+
spinner(`Fetching usage data for ${import_chalk209.default.bold(contextName)}`);
|
|
56725
56759
|
}
|
|
56726
56760
|
debug(`Fetching charges from ${fromDate} to ${toDate}`);
|
|
56727
56761
|
const query = new URLSearchParams({
|
|
@@ -56906,9 +56940,208 @@ async function processCharges(response, breakdownPeriod, groupByDimension, conte
|
|
|
56906
56940
|
};
|
|
56907
56941
|
}
|
|
56908
56942
|
|
|
56943
|
+
// src/util/telemetry/commands/vcr/index.ts
|
|
56944
|
+
var VcrTelemetryClient = class extends TelemetryClient {
|
|
56945
|
+
trackCliSubcommandLs(actual) {
|
|
56946
|
+
this.trackCliSubcommand({
|
|
56947
|
+
subcommand: "ls",
|
|
56948
|
+
value: actual
|
|
56949
|
+
});
|
|
56950
|
+
}
|
|
56951
|
+
trackCliSubcommandInspect(actual) {
|
|
56952
|
+
this.trackCliSubcommand({
|
|
56953
|
+
subcommand: "inspect",
|
|
56954
|
+
value: actual
|
|
56955
|
+
});
|
|
56956
|
+
}
|
|
56957
|
+
trackCliSubcommandAdd(actual) {
|
|
56958
|
+
this.trackCliSubcommand({
|
|
56959
|
+
subcommand: "add",
|
|
56960
|
+
value: actual
|
|
56961
|
+
});
|
|
56962
|
+
}
|
|
56963
|
+
trackCliSubcommandRm(actual) {
|
|
56964
|
+
this.trackCliSubcommand({
|
|
56965
|
+
subcommand: "rm",
|
|
56966
|
+
value: actual
|
|
56967
|
+
});
|
|
56968
|
+
}
|
|
56969
|
+
trackCliSubcommandTag(actual) {
|
|
56970
|
+
this.trackCliSubcommand({
|
|
56971
|
+
subcommand: "tag",
|
|
56972
|
+
value: actual
|
|
56973
|
+
});
|
|
56974
|
+
}
|
|
56975
|
+
trackCliSubcommandImage(actual) {
|
|
56976
|
+
this.trackCliSubcommand({
|
|
56977
|
+
subcommand: "image",
|
|
56978
|
+
value: actual
|
|
56979
|
+
});
|
|
56980
|
+
}
|
|
56981
|
+
trackCliOptionLimit(value) {
|
|
56982
|
+
if (typeof value === "number") {
|
|
56983
|
+
this.trackCliOption({
|
|
56984
|
+
option: "limit",
|
|
56985
|
+
value: this.redactedValue
|
|
56986
|
+
});
|
|
56987
|
+
}
|
|
56988
|
+
}
|
|
56989
|
+
trackCliOptionCursor(value) {
|
|
56990
|
+
if (value) {
|
|
56991
|
+
this.trackCliOption({
|
|
56992
|
+
option: "cursor",
|
|
56993
|
+
value: this.redactedValue
|
|
56994
|
+
});
|
|
56995
|
+
}
|
|
56996
|
+
}
|
|
56997
|
+
trackCliOptionSortBy(value) {
|
|
56998
|
+
if (value) {
|
|
56999
|
+
this.trackCliOption({
|
|
57000
|
+
option: "sort-by",
|
|
57001
|
+
value
|
|
57002
|
+
});
|
|
57003
|
+
}
|
|
57004
|
+
}
|
|
57005
|
+
trackCliOptionSortOrder(value) {
|
|
57006
|
+
if (value) {
|
|
57007
|
+
this.trackCliOption({
|
|
57008
|
+
option: "sort-order",
|
|
57009
|
+
value
|
|
57010
|
+
});
|
|
57011
|
+
}
|
|
57012
|
+
}
|
|
57013
|
+
trackCliFlagUntagged(value) {
|
|
57014
|
+
if (value) {
|
|
57015
|
+
this.trackCliFlag("untagged");
|
|
57016
|
+
}
|
|
57017
|
+
}
|
|
57018
|
+
trackCliFlagYes(value) {
|
|
57019
|
+
if (value) {
|
|
57020
|
+
this.trackCliFlag("yes");
|
|
57021
|
+
}
|
|
57022
|
+
}
|
|
57023
|
+
};
|
|
57024
|
+
|
|
57025
|
+
// src/commands/vcr/index.ts
|
|
57026
|
+
var COMMAND_CONFIG43 = {
|
|
57027
|
+
ls: getCommandAliases(listSubcommand18),
|
|
57028
|
+
inspect: getCommandAliases(inspectSubcommand6),
|
|
57029
|
+
add: getCommandAliases(addSubcommand12),
|
|
57030
|
+
rm: getCommandAliases(removeSubcommand15),
|
|
57031
|
+
tag: getCommandAliases(tagsAggregateCommand),
|
|
57032
|
+
image: getCommandAliases(imageAggregateCommand)
|
|
57033
|
+
};
|
|
57034
|
+
async function vcr(client) {
|
|
57035
|
+
const telemetry2 = new VcrTelemetryClient({
|
|
57036
|
+
opts: {
|
|
57037
|
+
store: client.telemetryEventStore
|
|
57038
|
+
}
|
|
57039
|
+
});
|
|
57040
|
+
let parsedArgs;
|
|
57041
|
+
const flagsSpecification = getFlagsSpecification(vcrCommand.options);
|
|
57042
|
+
try {
|
|
57043
|
+
parsedArgs = parseArguments(client.argv.slice(2), flagsSpecification, {
|
|
57044
|
+
permissive: true
|
|
57045
|
+
});
|
|
57046
|
+
} catch (err) {
|
|
57047
|
+
printError(err);
|
|
57048
|
+
return 1;
|
|
57049
|
+
}
|
|
57050
|
+
const { subcommand, args, subcommandOriginal } = getSubcommand5(
|
|
57051
|
+
parsedArgs.args.slice(1),
|
|
57052
|
+
COMMAND_CONFIG43
|
|
57053
|
+
);
|
|
57054
|
+
const needHelp = parsedArgs.flags["--help"];
|
|
57055
|
+
function printHelp(command) {
|
|
57056
|
+
output_manager_default.print(
|
|
57057
|
+
help(command, { parent: vcrCommand, columns: client.stderr.columns })
|
|
57058
|
+
);
|
|
57059
|
+
}
|
|
57060
|
+
if (needHelp) {
|
|
57061
|
+
switch (subcommand) {
|
|
57062
|
+
case "ls":
|
|
57063
|
+
telemetry2.trackCliFlagHelp("vcr", subcommandOriginal);
|
|
57064
|
+
printHelp(listSubcommand18);
|
|
57065
|
+
return 2;
|
|
57066
|
+
case "inspect":
|
|
57067
|
+
telemetry2.trackCliFlagHelp("vcr", subcommandOriginal);
|
|
57068
|
+
printHelp(inspectSubcommand6);
|
|
57069
|
+
return 2;
|
|
57070
|
+
case "add":
|
|
57071
|
+
telemetry2.trackCliFlagHelp("vcr", subcommandOriginal);
|
|
57072
|
+
printHelp(addSubcommand12);
|
|
57073
|
+
return 2;
|
|
57074
|
+
case "rm":
|
|
57075
|
+
telemetry2.trackCliFlagHelp("vcr", subcommandOriginal);
|
|
57076
|
+
printHelp(removeSubcommand15);
|
|
57077
|
+
return 2;
|
|
57078
|
+
case "tag": {
|
|
57079
|
+
telemetry2.trackCliFlagHelp("vcr", subcommandOriginal);
|
|
57080
|
+
const nested = args[0];
|
|
57081
|
+
if (nested === "ls" || nested === "list") {
|
|
57082
|
+
printHelp(tagsLsSubcommand);
|
|
57083
|
+
return 2;
|
|
57084
|
+
}
|
|
57085
|
+
if (nested === "inspect" || nested === "get") {
|
|
57086
|
+
printHelp(tagsInspectSubcommand);
|
|
57087
|
+
return 2;
|
|
57088
|
+
}
|
|
57089
|
+
printHelp(tagsAggregateCommand);
|
|
57090
|
+
return 2;
|
|
57091
|
+
}
|
|
57092
|
+
case "image": {
|
|
57093
|
+
telemetry2.trackCliFlagHelp("vcr", subcommandOriginal);
|
|
57094
|
+
const nested = args[0];
|
|
57095
|
+
if (nested === "ls" || nested === "list") {
|
|
57096
|
+
printHelp(imageLsSubcommand);
|
|
57097
|
+
return 2;
|
|
57098
|
+
}
|
|
57099
|
+
if (nested === "inspect" || nested === "get") {
|
|
57100
|
+
printHelp(imageInspectSubcommand);
|
|
57101
|
+
return 2;
|
|
57102
|
+
}
|
|
57103
|
+
if (nested === "rm" || nested === "remove" || nested === "delete") {
|
|
57104
|
+
printHelp(imageRmSubcommand);
|
|
57105
|
+
return 2;
|
|
57106
|
+
}
|
|
57107
|
+
printHelp(imageAggregateCommand);
|
|
57108
|
+
return 2;
|
|
57109
|
+
}
|
|
57110
|
+
default:
|
|
57111
|
+
telemetry2.trackCliFlagHelp("vcr", subcommandOriginal);
|
|
57112
|
+
output_manager_default.print(help(vcrCommand, { columns: client.stderr.columns }));
|
|
57113
|
+
return 2;
|
|
57114
|
+
}
|
|
57115
|
+
}
|
|
57116
|
+
switch (subcommand) {
|
|
57117
|
+
case "ls":
|
|
57118
|
+
telemetry2.trackCliSubcommandLs(subcommandOriginal);
|
|
57119
|
+
return (await import("./chunks/ls-D7NWJACX.js")).default(client, args, telemetry2);
|
|
57120
|
+
case "inspect":
|
|
57121
|
+
telemetry2.trackCliSubcommandInspect(subcommandOriginal);
|
|
57122
|
+
return (await import("./chunks/inspect-57BITHYZ.js")).default(client, args, telemetry2);
|
|
57123
|
+
case "add":
|
|
57124
|
+
telemetry2.trackCliSubcommandAdd(subcommandOriginal);
|
|
57125
|
+
return (await import("./chunks/add-WB6SXGXX.js")).default(client, args, telemetry2);
|
|
57126
|
+
case "rm":
|
|
57127
|
+
telemetry2.trackCliSubcommandRm(subcommandOriginal);
|
|
57128
|
+
return (await import("./chunks/rm-OSIDD4VR.js")).default(client, args, telemetry2);
|
|
57129
|
+
case "tag":
|
|
57130
|
+
telemetry2.trackCliSubcommandTag(subcommandOriginal);
|
|
57131
|
+
return (await import("./chunks/tags-HHNNZLC6.js")).default(client, args, telemetry2);
|
|
57132
|
+
case "image":
|
|
57133
|
+
telemetry2.trackCliSubcommandImage(subcommandOriginal);
|
|
57134
|
+
return (await import("./chunks/image-R4JG4NX4.js")).default(client, args, telemetry2);
|
|
57135
|
+
default:
|
|
57136
|
+
output_manager_default.error(getInvalidSubcommand(COMMAND_CONFIG43));
|
|
57137
|
+
output_manager_default.print(help(vcrCommand, { columns: client.stderr.columns }));
|
|
57138
|
+
return 2;
|
|
57139
|
+
}
|
|
57140
|
+
}
|
|
57141
|
+
|
|
56909
57142
|
// src/commands/webhooks/ls.ts
|
|
56910
57143
|
var import_ms36 = __toESM(require_ms(), 1);
|
|
56911
|
-
var
|
|
57144
|
+
var import_chalk210 = __toESM(require_source(), 1);
|
|
56912
57145
|
var import_pluralize14 = __toESM(require_pluralize(), 1);
|
|
56913
57146
|
|
|
56914
57147
|
// src/util/webhooks/get-webhooks.ts
|
|
@@ -56940,7 +57173,7 @@ async function ls9(client, argv) {
|
|
|
56940
57173
|
}
|
|
56941
57174
|
});
|
|
56942
57175
|
let parsedArgs;
|
|
56943
|
-
const flagsSpecification = getFlagsSpecification(
|
|
57176
|
+
const flagsSpecification = getFlagsSpecification(listSubcommand20.options);
|
|
56944
57177
|
try {
|
|
56945
57178
|
parsedArgs = parseArguments(argv, flagsSpecification);
|
|
56946
57179
|
} catch (error) {
|
|
@@ -56967,7 +57200,7 @@ async function ls9(client, argv) {
|
|
|
56967
57200
|
const { contextName } = await getScope(client);
|
|
56968
57201
|
const lsStamp = stamp_default();
|
|
56969
57202
|
if (!client.nonInteractive) {
|
|
56970
|
-
output_manager_default.spinner(`Fetching Webhooks under ${
|
|
57203
|
+
output_manager_default.spinner(`Fetching Webhooks under ${import_chalk210.default.bold(contextName)}`);
|
|
56971
57204
|
}
|
|
56972
57205
|
const { webhooks } = await getWebhooks(client);
|
|
56973
57206
|
if (asJson) {
|
|
@@ -56995,9 +57228,9 @@ async function ls9(client, argv) {
|
|
|
56995
57228
|
`);
|
|
56996
57229
|
} else {
|
|
56997
57230
|
output_manager_default.log(
|
|
56998
|
-
`${(0, import_pluralize14.default)("Webhook", webhooks.length, true)} found under ${
|
|
57231
|
+
`${(0, import_pluralize14.default)("Webhook", webhooks.length, true)} found under ${import_chalk210.default.bold(
|
|
56999
57232
|
contextName
|
|
57000
|
-
)} ${
|
|
57233
|
+
)} ${import_chalk210.default.gray(lsStamp())}`
|
|
57001
57234
|
);
|
|
57002
57235
|
if (webhooks.length > 0) {
|
|
57003
57236
|
output_manager_default.print(
|
|
@@ -57013,7 +57246,7 @@ function formatWebhooksTable(webhooks) {
|
|
|
57013
57246
|
const rows = webhooks.map((webhook) => {
|
|
57014
57247
|
const age = webhook.createdAt ? (0, import_ms36.default)(current - webhook.createdAt) : "-";
|
|
57015
57248
|
const eventsDisplay = webhook.events.length > 2 ? `${webhook.events.slice(0, 2).join(", ")} +${webhook.events.length - 2}` : webhook.events.join(", ");
|
|
57016
|
-
return [webhook.id, webhook.url, eventsDisplay,
|
|
57249
|
+
return [webhook.id, webhook.url, eventsDisplay, import_chalk210.default.gray(age)];
|
|
57017
57250
|
});
|
|
57018
57251
|
return formatTable(
|
|
57019
57252
|
["ID", "URL", "Events", "Age"],
|
|
@@ -57023,7 +57256,7 @@ function formatWebhooksTable(webhooks) {
|
|
|
57023
57256
|
}
|
|
57024
57257
|
|
|
57025
57258
|
// src/commands/webhooks/get.ts
|
|
57026
|
-
var
|
|
57259
|
+
var import_chalk211 = __toESM(require_source(), 1);
|
|
57027
57260
|
|
|
57028
57261
|
// src/util/webhooks/get-webhook.ts
|
|
57029
57262
|
async function getWebhook(client, webhookId) {
|
|
@@ -57099,7 +57332,7 @@ async function get4(client, argv) {
|
|
|
57099
57332
|
const asJson = formatResult.jsonOutput || client.nonInteractive;
|
|
57100
57333
|
if (args.length !== 1) {
|
|
57101
57334
|
output_manager_default.error(
|
|
57102
|
-
`Invalid number of arguments. Usage: ${
|
|
57335
|
+
`Invalid number of arguments. Usage: ${import_chalk211.default.cyan(
|
|
57103
57336
|
`${getCommandName("webhooks get <id>")}`
|
|
57104
57337
|
)}`
|
|
57105
57338
|
);
|
|
@@ -57109,7 +57342,7 @@ async function get4(client, argv) {
|
|
|
57109
57342
|
const { contextName } = await getScope(client);
|
|
57110
57343
|
if (!client.nonInteractive) {
|
|
57111
57344
|
output_manager_default.spinner(
|
|
57112
|
-
`Fetching Webhook ${webhookId} under ${
|
|
57345
|
+
`Fetching Webhook ${webhookId} under ${import_chalk211.default.bold(contextName)}`
|
|
57113
57346
|
);
|
|
57114
57347
|
}
|
|
57115
57348
|
let webhook;
|
|
@@ -57153,33 +57386,33 @@ async function get4(client, argv) {
|
|
|
57153
57386
|
`);
|
|
57154
57387
|
} else {
|
|
57155
57388
|
output_manager_default.log(
|
|
57156
|
-
`Webhook ${webhookId} found under ${
|
|
57389
|
+
`Webhook ${webhookId} found under ${import_chalk211.default.bold(contextName)} ${import_chalk211.default.gray(
|
|
57157
57390
|
getStamp()
|
|
57158
57391
|
)}`
|
|
57159
57392
|
);
|
|
57160
57393
|
output_manager_default.print("\n");
|
|
57161
|
-
output_manager_default.print(
|
|
57162
|
-
output_manager_default.print(` ${
|
|
57394
|
+
output_manager_default.print(import_chalk211.default.bold(" General\n\n"));
|
|
57395
|
+
output_manager_default.print(` ${import_chalk211.default.cyan("ID")} ${webhook.id}
|
|
57163
57396
|
`);
|
|
57164
|
-
output_manager_default.print(` ${
|
|
57397
|
+
output_manager_default.print(` ${import_chalk211.default.cyan("URL")} ${webhook.url}
|
|
57165
57398
|
`);
|
|
57166
57399
|
output_manager_default.print(
|
|
57167
|
-
` ${
|
|
57400
|
+
` ${import_chalk211.default.cyan("Created At")} ${formatDate(webhook.createdAt)}
|
|
57168
57401
|
`
|
|
57169
57402
|
);
|
|
57170
57403
|
output_manager_default.print(
|
|
57171
|
-
` ${
|
|
57404
|
+
` ${import_chalk211.default.cyan("Updated At")} ${formatDate(webhook.updatedAt)}
|
|
57172
57405
|
`
|
|
57173
57406
|
);
|
|
57174
57407
|
output_manager_default.print("\n");
|
|
57175
|
-
output_manager_default.print(
|
|
57408
|
+
output_manager_default.print(import_chalk211.default.bold(" Events\n\n"));
|
|
57176
57409
|
for (const event of webhook.events) {
|
|
57177
57410
|
output_manager_default.print(` - ${event}
|
|
57178
57411
|
`);
|
|
57179
57412
|
}
|
|
57180
57413
|
if (webhook.projectIds && webhook.projectIds.length > 0) {
|
|
57181
57414
|
output_manager_default.print("\n");
|
|
57182
|
-
output_manager_default.print(
|
|
57415
|
+
output_manager_default.print(import_chalk211.default.bold(" Projects\n\n"));
|
|
57183
57416
|
if (webhook.projectsMetadata && webhook.projectsMetadata.length > 0) {
|
|
57184
57417
|
for (const project of webhook.projectsMetadata) {
|
|
57185
57418
|
output_manager_default.print(` - ${project.name} (${project.id})
|
|
@@ -57198,7 +57431,7 @@ async function get4(client, argv) {
|
|
|
57198
57431
|
}
|
|
57199
57432
|
|
|
57200
57433
|
// src/commands/webhooks/create.ts
|
|
57201
|
-
var
|
|
57434
|
+
var import_chalk212 = __toESM(require_source(), 1);
|
|
57202
57435
|
|
|
57203
57436
|
// src/util/webhooks/create-webhook.ts
|
|
57204
57437
|
async function createWebhook(client, payload) {
|
|
@@ -57418,7 +57651,7 @@ async function create5(client, argv) {
|
|
|
57418
57651
|
const { contextName } = await getScope(client);
|
|
57419
57652
|
const createStamp = stamp_default();
|
|
57420
57653
|
if (!client.nonInteractive) {
|
|
57421
|
-
output_manager_default.spinner(`Creating webhook under ${
|
|
57654
|
+
output_manager_default.spinner(`Creating webhook under ${import_chalk212.default.bold(contextName)}`);
|
|
57422
57655
|
}
|
|
57423
57656
|
try {
|
|
57424
57657
|
const webhook = await createWebhook(client, {
|
|
@@ -57451,27 +57684,27 @@ async function create5(client, argv) {
|
|
|
57451
57684
|
}
|
|
57452
57685
|
output_manager_default.stopSpinner();
|
|
57453
57686
|
output_manager_default.success(
|
|
57454
|
-
`Webhook created: ${
|
|
57687
|
+
`Webhook created: ${import_chalk212.default.bold(webhook.id)} ${createStamp()}`
|
|
57455
57688
|
);
|
|
57456
57689
|
output_manager_default.print("\n");
|
|
57457
|
-
output_manager_default.print(
|
|
57458
|
-
output_manager_default.print(` ${
|
|
57690
|
+
output_manager_default.print(import_chalk212.default.bold(" Webhook Details\n\n"));
|
|
57691
|
+
output_manager_default.print(` ${import_chalk212.default.cyan("ID".padEnd(10))}${webhook.id}
|
|
57459
57692
|
`);
|
|
57460
|
-
output_manager_default.print(` ${
|
|
57693
|
+
output_manager_default.print(` ${import_chalk212.default.cyan("URL".padEnd(10))}${webhook.url}
|
|
57461
57694
|
`);
|
|
57462
57695
|
output_manager_default.print(
|
|
57463
|
-
` ${
|
|
57696
|
+
` ${import_chalk212.default.cyan("Events".padEnd(10))}${webhook.events.join(", ")}
|
|
57464
57697
|
`
|
|
57465
57698
|
);
|
|
57466
57699
|
if (webhook.projectIds && webhook.projectIds.length > 0) {
|
|
57467
57700
|
output_manager_default.print(
|
|
57468
|
-
` ${
|
|
57701
|
+
` ${import_chalk212.default.cyan("Projects".padEnd(10))}${webhook.projectIds.join(", ")}
|
|
57469
57702
|
`
|
|
57470
57703
|
);
|
|
57471
57704
|
}
|
|
57472
57705
|
output_manager_default.print("\n");
|
|
57473
57706
|
output_manager_default.warn(
|
|
57474
|
-
`Save this secret - it will not be shown again: ${
|
|
57707
|
+
`Save this secret - it will not be shown again: ${import_chalk212.default.bold(webhook.secret)}`
|
|
57475
57708
|
);
|
|
57476
57709
|
output_manager_default.print("\n");
|
|
57477
57710
|
return 0;
|
|
@@ -57529,7 +57762,7 @@ function buildCreateCommandWithEventPlaceholder(fullArgv, url) {
|
|
|
57529
57762
|
}
|
|
57530
57763
|
|
|
57531
57764
|
// src/commands/webhooks/rm.ts
|
|
57532
|
-
var
|
|
57765
|
+
var import_chalk213 = __toESM(require_source(), 1);
|
|
57533
57766
|
|
|
57534
57767
|
// src/util/webhooks/delete-webhook.ts
|
|
57535
57768
|
async function deleteWebhook(client, webhookId) {
|
|
@@ -57568,7 +57801,7 @@ async function rm10(client, argv) {
|
|
|
57568
57801
|
}
|
|
57569
57802
|
});
|
|
57570
57803
|
let parsedArgs;
|
|
57571
|
-
const flagsSpecification = getFlagsSpecification(
|
|
57804
|
+
const flagsSpecification = getFlagsSpecification(removeSubcommand16.options);
|
|
57572
57805
|
try {
|
|
57573
57806
|
parsedArgs = parseArguments(argv, flagsSpecification);
|
|
57574
57807
|
} catch (error) {
|
|
@@ -57624,7 +57857,7 @@ async function rm10(client, argv) {
|
|
|
57624
57857
|
const { contextName } = await getScope(client);
|
|
57625
57858
|
if (args.length !== 1) {
|
|
57626
57859
|
output_manager_default.error(
|
|
57627
|
-
`Invalid number of arguments. Usage: ${
|
|
57860
|
+
`Invalid number of arguments. Usage: ${import_chalk213.default.cyan(
|
|
57628
57861
|
`${getCommandName("webhooks rm <id>")}`
|
|
57629
57862
|
)}`
|
|
57630
57863
|
);
|
|
@@ -57675,7 +57908,7 @@ async function rm10(client, argv) {
|
|
|
57675
57908
|
}
|
|
57676
57909
|
const removeStamp = stamp_default();
|
|
57677
57910
|
if (!client.nonInteractive) {
|
|
57678
|
-
output_manager_default.spinner(`Removing webhook under ${
|
|
57911
|
+
output_manager_default.spinner(`Removing webhook under ${import_chalk213.default.bold(contextName)}`);
|
|
57679
57912
|
}
|
|
57680
57913
|
try {
|
|
57681
57914
|
await deleteWebhook(client, webhookId);
|
|
@@ -57695,7 +57928,7 @@ async function rm10(client, argv) {
|
|
|
57695
57928
|
);
|
|
57696
57929
|
return 0;
|
|
57697
57930
|
}
|
|
57698
|
-
output_manager_default.success(`Webhook ${
|
|
57931
|
+
output_manager_default.success(`Webhook ${import_chalk213.default.bold(webhookId)} removed ${removeStamp()}`);
|
|
57699
57932
|
return 0;
|
|
57700
57933
|
} catch (err) {
|
|
57701
57934
|
output_manager_default.stopSpinner();
|
|
@@ -57755,7 +57988,7 @@ var WebhooksTelemetryClient = class extends TelemetryClient {
|
|
|
57755
57988
|
};
|
|
57756
57989
|
|
|
57757
57990
|
// src/commands/webhooks/index.ts
|
|
57758
|
-
var
|
|
57991
|
+
var COMMAND_CONFIG44 = {
|
|
57759
57992
|
create: ["create", "add"],
|
|
57760
57993
|
get: ["get", "inspect"],
|
|
57761
57994
|
ls: ["ls", "list"],
|
|
@@ -57779,7 +58012,7 @@ async function main30(client) {
|
|
|
57779
58012
|
});
|
|
57780
58013
|
const { subcommand, args, subcommandOriginal } = getSubcommand5(
|
|
57781
58014
|
parsedArgs.args.slice(1),
|
|
57782
|
-
|
|
58015
|
+
COMMAND_CONFIG44
|
|
57783
58016
|
);
|
|
57784
58017
|
const needHelp = parsedArgs.flags["--help"];
|
|
57785
58018
|
if (!subcommand && needHelp) {
|
|
@@ -57811,14 +58044,14 @@ async function main30(client) {
|
|
|
57811
58044
|
case "rm":
|
|
57812
58045
|
if (needHelp) {
|
|
57813
58046
|
telemetry2.trackCliFlagHelp("webhooks", subcommandOriginal);
|
|
57814
|
-
return printHelp(
|
|
58047
|
+
return printHelp(removeSubcommand16);
|
|
57815
58048
|
}
|
|
57816
58049
|
telemetry2.trackCliSubcommandRemove(subcommandOriginal);
|
|
57817
58050
|
return rm10(client, args);
|
|
57818
58051
|
default:
|
|
57819
58052
|
if (needHelp) {
|
|
57820
58053
|
telemetry2.trackCliFlagHelp("webhooks", subcommandOriginal);
|
|
57821
|
-
return printHelp(
|
|
58054
|
+
return printHelp(listSubcommand20);
|
|
57822
58055
|
}
|
|
57823
58056
|
telemetry2.trackCliSubcommandList(subcommandOriginal);
|
|
57824
58057
|
return ls9(client, args);
|
|
@@ -57826,7 +58059,7 @@ async function main30(client) {
|
|
|
57826
58059
|
}
|
|
57827
58060
|
|
|
57828
58061
|
// src/commands/whoami/index.ts
|
|
57829
|
-
var
|
|
58062
|
+
var import_chalk214 = __toESM(require_source(), 1);
|
|
57830
58063
|
|
|
57831
58064
|
// src/util/telemetry/commands/whoami/index.ts
|
|
57832
58065
|
var WhoamiTelemetryClient = class extends TelemetryClient {
|
|
@@ -57878,21 +58111,21 @@ async function whoami(client) {
|
|
|
57878
58111
|
client.stdout.write(`${JSON.stringify(jsonOutput, null, 2)}
|
|
57879
58112
|
`);
|
|
57880
58113
|
} else if (client.stdout.isTTY) {
|
|
57881
|
-
output_manager_default.log(`Logged in as ${
|
|
58114
|
+
output_manager_default.log(`Logged in as ${import_chalk214.default.bold(user.username)}`);
|
|
57882
58115
|
if (team) {
|
|
57883
58116
|
output_manager_default.log(
|
|
57884
|
-
`Active team: ${
|
|
58117
|
+
`Active team: ${import_chalk214.default.bold(team.slug)}${team.name && team.name !== team.slug ? ` (${team.name})` : ""}`
|
|
57885
58118
|
);
|
|
57886
58119
|
} else {
|
|
57887
|
-
output_manager_default.log(`Active team: ${
|
|
58120
|
+
output_manager_default.log(`Active team: ${import_chalk214.default.bold("Personal Account")}`);
|
|
57888
58121
|
}
|
|
57889
58122
|
if (hasLocalOverride) {
|
|
57890
58123
|
const globalLabel = globalTeam ? globalTeam.slug : "Personal Account";
|
|
57891
58124
|
const localLabel = team ? team.slug : "Personal Account";
|
|
57892
58125
|
output_manager_default.log(
|
|
57893
|
-
`${
|
|
58126
|
+
`${import_chalk214.default.yellow("Local override:")} scope is set to ${import_chalk214.default.bold(
|
|
57894
58127
|
localLabel
|
|
57895
|
-
)} by the linked project in this directory (globally selected: ${
|
|
58128
|
+
)} by the linked project in this directory (globally selected: ${import_chalk214.default.bold(
|
|
57896
58129
|
globalLabel
|
|
57897
58130
|
)}).`
|
|
57898
58131
|
);
|
|
@@ -57959,6 +58192,7 @@ export {
|
|
|
57959
58192
|
traces,
|
|
57960
58193
|
upgrade,
|
|
57961
58194
|
usage,
|
|
58195
|
+
vcr,
|
|
57962
58196
|
main30 as webhooks,
|
|
57963
58197
|
whoami
|
|
57964
58198
|
};
|