vercel 50.35.0 → 50.37.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/chunks/{chunk-QQ3CX3WN.js → chunk-4XGZYZTX.js} +14 -5
  2. package/dist/chunks/{chunk-MPC4SSYA.js → chunk-6WJD7XZZ.js} +7 -4
  3. package/dist/chunks/{chunk-H5CHJPPZ.js → chunk-CTSX3QOE.js} +1 -1
  4. package/dist/chunks/{chunk-7YHZDJ4G.js → chunk-ELUNQCFN.js} +15 -2
  5. package/dist/chunks/{chunk-XNWJLL5I.js → chunk-I3IX2FMH.js} +101 -34
  6. package/dist/chunks/{chunk-YPQHRLKW.js → chunk-ILFSWUKI.js} +4 -4
  7. package/dist/chunks/{chunk-MRILE22L.js → chunk-J3XMDZWW.js} +7 -3
  8. package/dist/chunks/{chunk-TX2H4WB5.js → chunk-JEYLBN3E.js} +1 -1
  9. package/dist/chunks/{chunk-LCHBLUU5.js → chunk-LM3CK3SI.js} +3 -3
  10. package/dist/chunks/{chunk-FB7VLWYT.js → chunk-MDWTNWXT.js} +45 -2
  11. package/dist/chunks/{chunk-CFMQN4KW.js → chunk-NCBARKDO.js} +1 -1
  12. package/dist/chunks/chunk-NMGLSWD2.js +384 -0
  13. package/dist/chunks/{chunk-OTUROTQ2.js → chunk-O2UWCQCQ.js} +1 -1
  14. package/dist/chunks/{chunk-KN7ZKW46.js → chunk-OGJEDUQA.js} +2 -2
  15. package/dist/chunks/{chunk-VKEKG35M.js → chunk-S5LPLVTY.js} +6 -2
  16. package/dist/chunks/{chunk-TLDVMWUJ.js → chunk-TUYKJUVG.js} +1 -1
  17. package/dist/chunks/{chunk-E2FTX3MJ.js → chunk-WFPUJOVA.js} +1 -1
  18. package/dist/chunks/{chunk-NQELOCER.js → chunk-XNUNXKF7.js} +1 -1
  19. package/dist/chunks/{chunk-JS6JXSM3.js → chunk-ZDIXEU2X.js} +1 -1
  20. package/dist/chunks/{compile-vercel-config-4P6ITRAJ.js → compile-vercel-config-KLDE6OM5.js} +1 -1
  21. package/dist/chunks/{delete-MHRFOKQN.js → delete-OJ5UQV74.js} +2 -2
  22. package/dist/chunks/{disable-6BCLBCQ2.js → disable-UMDO3PM7.js} +2 -2
  23. package/dist/chunks/{discard-M4LLIIB2.js → discard-T57LCSAJ.js} +2 -2
  24. package/dist/chunks/{edit-53JQSSIV.js → edit-5DF24ZR7.js} +3 -3
  25. package/dist/chunks/{enable-BKGMRJ6N.js → enable-GQMCD7ON.js} +2 -2
  26. package/dist/chunks/{export-T6SX6BHR.js → export-MFY6YVWU.js} +2 -2
  27. package/dist/chunks/{list-5KEEAHA2.js → list-45DJTCI6.js} +1 -1
  28. package/dist/chunks/{list-KY5N5GFY.js → list-AAHRQRMH.js} +1 -1
  29. package/dist/chunks/{publish-YBLCN75N.js → publish-7T7TIXFL.js} +2 -2
  30. package/dist/chunks/{query-IQTIXHUP.js → query-5IXTJIHK.js} +1 -1
  31. package/dist/chunks/{reorder-YRQTCSJY.js → reorder-7TB73MDY.js} +2 -2
  32. package/dist/chunks/{restore-UDUD6TWT.js → restore-EZ6BI5DA.js} +2 -2
  33. package/dist/commands/build/index.js +133 -27
  34. package/dist/commands/deploy/index.js +23 -13
  35. package/dist/commands/dev/builder-worker.cjs +10 -2
  36. package/dist/commands/dev/index.js +68 -45
  37. package/dist/commands/env/index.js +5 -5
  38. package/dist/commands/link/index.js +17 -6
  39. package/dist/commands/list/index.js +2 -2
  40. package/dist/commands-bulk.js +1200 -829
  41. package/dist/help.js +1 -1
  42. package/dist/index.js +10 -9
  43. package/dist/version.mjs +1 -1
  44. package/package.json +21 -21
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-IB5L4LKZ.js";
10
10
  import {
11
11
  require_execa
12
- } from "./chunk-TLDVMWUJ.js";
12
+ } from "./chunk-TUYKJUVG.js";
13
13
  import {
14
14
  VERCEL_DIR,
15
15
  readJSONFile,
@@ -17,7 +17,7 @@ import {
17
17
  require_dist3,
18
18
  require_lib,
19
19
  require_minimatch
20
- } from "./chunk-XNWJLL5I.js";
20
+ } from "./chunk-I3IX2FMH.js";
21
21
  import {
22
22
  require_pluralize
23
23
  } from "./chunk-AY4LBM3J.js";
@@ -11343,12 +11343,21 @@ async function writeBuildResult(args) {
11343
11343
  service,
11344
11344
  stripServiceRoutePrefix = false
11345
11345
  } = args;
11346
- const version2 = builder.version;
11346
+ let version2;
11347
+ let actualResult;
11348
+ if (builder.version === -1) {
11349
+ const vx = buildResult;
11350
+ version2 = vx.resultVersion;
11351
+ actualResult = vx.result;
11352
+ } else {
11353
+ version2 = builder.version;
11354
+ actualResult = buildResult;
11355
+ }
11347
11356
  if (typeof version2 !== "number" || version2 === 2) {
11348
11357
  return writeBuildResultV2({
11349
11358
  repoRootPath,
11350
11359
  outputDir,
11351
- buildResult,
11360
+ buildResult: actualResult,
11352
11361
  build: build2,
11353
11362
  vercelConfig,
11354
11363
  standalone,
@@ -11360,7 +11369,7 @@ async function writeBuildResult(args) {
11360
11369
  return writeBuildResultV3({
11361
11370
  repoRootPath,
11362
11371
  outputDir,
11363
- buildResult,
11372
+ buildResult: actualResult,
11364
11373
  build: build2,
11365
11374
  vercelConfig,
11366
11375
  standalone,
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getLocalPathConfig
9
- } from "./chunk-TX2H4WB5.js";
9
+ } from "./chunk-JEYLBN3E.js";
10
10
  import {
11
11
  VERCEL_DIR_PROJECT,
12
12
  VERCEL_DIR_README,
@@ -31,7 +31,7 @@ import {
31
31
  selectAndParseRemoteUrl,
32
32
  selectOrg,
33
33
  writeServicesConfig
34
- } from "./chunk-XNWJLL5I.js";
34
+ } from "./chunk-I3IX2FMH.js";
35
35
  import {
36
36
  table
37
37
  } from "./chunk-CTY6ZEQZ.js";
@@ -140,6 +140,7 @@ async function readConfig(dir) {
140
140
 
141
141
  // src/util/input/display-services.ts
142
142
  var import_frameworks = __toESM(require_frameworks(), 1);
143
+ import { getWorkerTopics } from "@vercel/build-utils";
143
144
  var chalk2 = require_source();
144
145
  var frameworksBySlug = new Map(import_frameworks.frameworkList.map((f) => [f.slug, f]));
145
146
  var frameworkColors = {
@@ -213,8 +214,10 @@ function getServiceTarget(service) {
213
214
  switch (service.type) {
214
215
  case "cron":
215
216
  return `schedule: ${service.schedule ?? "none"}`;
216
- case "worker":
217
- return `topic: ${service.topic ?? "none"}`;
217
+ case "worker": {
218
+ const topics = getWorkerTopics(service);
219
+ return `topics: ${topics.join(", ")}`;
220
+ }
218
221
  default:
219
222
  return service.routePrefix ? formatRoutePrefix(service.routePrefix) : "no route";
220
223
  }
@@ -12,7 +12,7 @@ import {
12
12
  buildCommandWithYes,
13
13
  getLinkedProject,
14
14
  outputAgentError
15
- } from "./chunk-XNWJLL5I.js";
15
+ } from "./chunk-I3IX2FMH.js";
16
16
  import {
17
17
  getCommandName,
18
18
  getCommandNamePlain,
@@ -52,24 +52,37 @@ var help = () => `
52
52
 
53
53
  ${import_chalk.default.dim("Advanced")}
54
54
 
55
+ activity List user activity events
56
+ agent [init] Generate AGENTS.md with Vercel best practices
57
+ alerts List alerts for a project or team
55
58
  alias [cmd] Manages your domain aliases
56
59
  api [endpoint] Make authenticated HTTP requests to the Vercel API [beta]
57
60
  bisect Use binary search to find the deployment that introduced a bug
61
+ blob [cmd] Manages your Blob stores and files
62
+ buy [cmd] Purchase Vercel products for your team
58
63
  certs [cmd] Manages your SSL certificates
64
+ contract Show contract information for billing periods
65
+ cron | crons [cmd] Manage cron jobs for a project [beta]
59
66
  curl [path] cURL requests to your linked project's deployment [beta]
60
67
  dns [name] Manages your DNS records
61
68
  domains [name] Manages your domain names
69
+ httpstat path Visualize HTTP timing statistics for deployments
62
70
  logs [url] Displays the logs for a deployment${metricsLine}
71
+ mcp Set up MCP agents and configuration
63
72
  microfrontends Manages your microfrontends
64
73
  projects Manages your Projects
65
74
  redirects [cmd] Manages redirects for your current Project
66
75
  rm | remove [id] Removes a deployment
67
76
  routes [cmd] Manages routing rules for your current Project
77
+ rr | rolling-release [cmd] Manage rolling releases for gradual traffic shifting
78
+ skills [query] Discover agent skills relevant to your project
79
+ target [cmd] Manage custom environments for your Project
68
80
  teams Manages your teams
81
+ telemetry [cmd] Enable or disable telemetry collection
69
82
  upgrade Upgrade the Vercel CLI to the latest version
70
- whoami Shows the username of the currently logged in user
71
- blob [cmd] Manages your Blob stores and files
83
+ usage Show billing usage for the current billing period
72
84
  webhooks [cmd] Manages webhooks [beta]
85
+ whoami Shows the username of the currently logged in user
73
86
 
74
87
  ${import_chalk.default.dim("Global Options:")}
75
88
 
@@ -24606,7 +24606,7 @@ var require_schemas = __commonJS({
24606
24606
  required: ["source", "destination"],
24607
24607
  properties: {
24608
24608
  source: {
24609
- description: "A pattern that matches each incoming pathname (excluding querystring).",
24609
+ description: "A pattern that matches each incoming pathname (excluding querystring) or a full URL including domain.",
24610
24610
  type: "string",
24611
24611
  maxLength: 4096
24612
24612
  },
@@ -25636,12 +25636,13 @@ var require_resolve2 = __commonJS({
25636
25636
  });
25637
25637
  module2.exports = __toCommonJS2(resolve_exports);
25638
25638
  var import_path12 = __require("path");
25639
+ var import_build_utils5 = __require("@vercel/build-utils");
25639
25640
  var import_types = require_types3();
25640
25641
  var import_utils4 = require_utils3();
25641
25642
  var import_frameworks2 = require_frameworks();
25642
25643
  var import_detect_framework = require_detect_framework();
25643
25644
  var import_routing_utils2 = require_dist5();
25644
- var import_build_utils5 = __require("@vercel/build-utils");
25645
+ var import_build_utils22 = __require("@vercel/build-utils");
25645
25646
  var frameworksBySlug = new Map(import_frameworks2.frameworkList.map((f) => [f.slug, f]));
25646
25647
  var PYTHON_MODULE_ATTR_RE = /^([A-Za-z_][\w]*(?:\.[A-Za-z_][\w]*)*):([A-Za-z_][\w]*)$/;
25647
25648
  function parsePyModuleAttrEntrypoint(entrypoint) {
@@ -25655,6 +25656,7 @@ var require_resolve2 = __commonJS({
25655
25656
  }
25656
25657
  var SERVICE_NAME_REGEX = /^[a-zA-Z]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$/;
25657
25658
  var DNS_LABEL_RE = /^(?!-)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/i;
25659
+ var ENV_PREFIX_RE = /^[A-Z][A-Z0-9_]*_$/;
25658
25660
  function normalizeServiceEntrypoint(entrypoint) {
25659
25661
  const normalized = import_path12.posix.normalize(entrypoint);
25660
25662
  return normalized === "" ? "." : normalized;
@@ -25829,6 +25831,15 @@ var require_resolve2 = __commonJS({
25829
25831
  serviceName: name
25830
25832
  };
25831
25833
  }
25834
+ if (config.envPrefix !== void 0) {
25835
+ if (!ENV_PREFIX_RE.test(config.envPrefix)) {
25836
+ return {
25837
+ code: "INVALID_ENV_PREFIX",
25838
+ message: `Service "${name}" has invalid envPrefix "${config.envPrefix}". Must start with an uppercase letter, contain only uppercase letters, digits, and underscores, and end with "_" (e.g., "MY_SERVICE_").`,
25839
+ serviceName: name
25840
+ };
25841
+ }
25842
+ }
25832
25843
  if (config.runtime && !(config.runtime in import_types.RUNTIME_BUILDERS)) {
25833
25844
  return {
25834
25845
  code: "INVALID_RUNTIME",
@@ -25942,7 +25953,7 @@ var require_resolve2 = __commonJS({
25942
25953
  }
25943
25954
  }
25944
25955
  }
25945
- const topic = type === "worker" ? config.topic || "default" : config.topic;
25956
+ const topics = type === "worker" ? (0, import_build_utils5.getWorkerTopics)(config) : config.topics;
25946
25957
  const consumer = type === "worker" ? config.consumer || "default" : config.consumer;
25947
25958
  let builderUse;
25948
25959
  let builderSrc;
@@ -25951,7 +25962,7 @@ var require_resolve2 = __commonJS({
25951
25962
  builderUse = config.builder;
25952
25963
  builderSrc = resolvedEntrypointFile || frameworkDefinition?.useRuntime?.src || "package.json";
25953
25964
  } else if (config.framework) {
25954
- if (type === "web" && (0, import_build_utils5.isNodeBackendFramework)(config.framework)) {
25965
+ if (type === "web" && (0, import_build_utils22.isNodeBackendFramework)(config.framework)) {
25955
25966
  builderUse = "@vercel/backends";
25956
25967
  } else {
25957
25968
  builderUse = frameworkDefinition?.useRuntime?.use || "@vercel/static-build";
@@ -26025,8 +26036,9 @@ var require_resolve2 = __commonJS({
26025
26036
  installCommand: config.installCommand,
26026
26037
  schedule: config.schedule,
26027
26038
  handlerFunction: moduleAttrParsed?.attrName,
26028
- topic,
26029
- consumer
26039
+ topics,
26040
+ consumer,
26041
+ envPrefix: config.envPrefix
26030
26042
  };
26031
26043
  }
26032
26044
  async function resolveAllConfiguredServices(services, fs5, routePrefixSource = "configured") {
@@ -40948,7 +40960,7 @@ var require_package = __commonJS({
40948
40960
  "../client/package.json"(exports2, module2) {
40949
40961
  module2.exports = {
40950
40962
  name: "@vercel/client",
40951
- version: "17.2.61",
40963
+ version: "17.2.64",
40952
40964
  main: "dist/index.js",
40953
40965
  typings: "dist/index.d.ts",
40954
40966
  homepage: "https://vercel.com",
@@ -53923,9 +53935,9 @@ var require_tar_fs = __commonJS({
53923
53935
  }
53924
53936
  });
53925
53937
 
53926
- // ../client/dist/create-deployment.js
53927
- var require_create_deployment = __commonJS({
53928
- "../client/dist/create-deployment.js"(exports2, module2) {
53938
+ // ../client/dist/utils/archive.js
53939
+ var require_archive = __commonJS({
53940
+ "../client/dist/utils/archive.js"(exports2, module2) {
53929
53941
  "use strict";
53930
53942
  var __create = Object.create;
53931
53943
  var __defProp = Object.defineProperty;
@@ -53954,6 +53966,59 @@ var require_create_deployment = __commonJS({
53954
53966
  mod
53955
53967
  ));
53956
53968
  var __toCommonJS2 = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
53969
+ var archive_exports = {};
53970
+ __export2(archive_exports, {
53971
+ createTgzFiles: () => createTgzFiles
53972
+ });
53973
+ module2.exports = __toCommonJS2(archive_exports);
53974
+ var import_node_path2 = __require("path");
53975
+ var import_node_zlib = __require("zlib");
53976
+ var import_build_utils5 = __require("@vercel/build-utils");
53977
+ var import_tar_fs = __toESM2(require_tar_fs());
53978
+ var import_hashes = require_hashes();
53979
+ async function createTgzFiles(workPath, fileList, debug, exclude) {
53980
+ const filesToArchive = exclude ? fileList.filter((file) => !exclude.includes(file)) : fileList;
53981
+ debug?.("Packing tarball");
53982
+ const tarStream = import_tar_fs.default.pack(workPath, {
53983
+ entries: filesToArchive.map((file) => (0, import_node_path2.relative)(workPath, file))
53984
+ }).pipe((0, import_node_zlib.createGzip)());
53985
+ const chunkedTarBuffers = await (0, import_build_utils5.streamToBufferChunks)(tarStream);
53986
+ debug?.(`Packed tarball into ${chunkedTarBuffers.length} chunks`);
53987
+ return new Map(
53988
+ chunkedTarBuffers.map((chunk, index) => [
53989
+ (0, import_hashes.hash)(chunk),
53990
+ {
53991
+ names: [(0, import_node_path2.join)(workPath, `.vercel/source.tgz.part${index + 1}`)],
53992
+ data: chunk,
53993
+ mode: 438
53994
+ }
53995
+ ])
53996
+ );
53997
+ }
53998
+ }
53999
+ });
54000
+
54001
+ // ../client/dist/create-deployment.js
54002
+ var require_create_deployment = __commonJS({
54003
+ "../client/dist/create-deployment.js"(exports2, module2) {
54004
+ "use strict";
54005
+ var __defProp = Object.defineProperty;
54006
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
54007
+ var __getOwnPropNames = Object.getOwnPropertyNames;
54008
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
54009
+ var __export2 = (target, all) => {
54010
+ for (var name in all)
54011
+ __defProp(target, name, { get: all[name], enumerable: true });
54012
+ };
54013
+ var __copyProps = (to, from, except, desc) => {
54014
+ if (from && typeof from === "object" || typeof from === "function") {
54015
+ for (let key of __getOwnPropNames(from))
54016
+ if (!__hasOwnProp.call(to, key) && key !== except)
54017
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
54018
+ }
54019
+ return to;
54020
+ };
54021
+ var __toCommonJS2 = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
53957
54022
  var create_deployment_exports = {};
53958
54023
  __export2(create_deployment_exports, {
53959
54024
  default: () => buildCreateDeployment
@@ -53967,9 +54032,7 @@ var require_create_deployment = __commonJS({
53967
54032
  var import_utils4 = require_utils10();
53968
54033
  var import_errors3 = require_errors();
53969
54034
  var import_error_utils5 = require_dist();
53970
- var import_build_utils5 = __require("@vercel/build-utils");
53971
- var import_tar_fs = __toESM2(require_tar_fs());
53972
- var import_zlib = __require("zlib");
54035
+ var import_archive = require_archive();
53973
54036
  function buildCreateDeployment() {
53974
54037
  return async function* createDeployment(clientOptions, deploymentOptions = {}) {
53975
54038
  const { path: path2 } = clientOptions;
@@ -54044,22 +54107,7 @@ var require_create_deployment = __commonJS({
54044
54107
  let files;
54045
54108
  try {
54046
54109
  if (clientOptions.archive === "tgz") {
54047
- debug("Packing tarball");
54048
- const tarStream = import_tar_fs.default.pack(workPath, {
54049
- entries: fileList.map((file) => (0, import_path12.relative)(workPath, file))
54050
- }).pipe((0, import_zlib.createGzip)());
54051
- const chunkedTarBuffers = await (0, import_build_utils5.streamToBufferChunks)(tarStream);
54052
- debug(`Packed tarball into ${chunkedTarBuffers.length} chunks`);
54053
- files = new Map(
54054
- chunkedTarBuffers.map((chunk, index) => [
54055
- (0, import_hashes.hash)(chunk),
54056
- {
54057
- names: [(0, import_path12.join)(workPath, `.vercel/source.tgz.part${index + 1}`)],
54058
- data: chunk,
54059
- mode: 438
54060
- }
54061
- ])
54062
- );
54110
+ files = await (0, import_archive.createTgzFiles)(workPath, fileList, debug);
54063
54111
  } else {
54064
54112
  files = await (0, import_hashes.hashes)(fileList);
54065
54113
  }
@@ -54138,6 +54186,7 @@ var require_continue = __commonJS({
54138
54186
  var import_ready_state = require_ready_state();
54139
54187
  var import_upload = require_upload();
54140
54188
  var import_errors3 = require_errors();
54189
+ var import_archive = require_archive();
54141
54190
  async function* continueDeployment2(options) {
54142
54191
  const debug = (0, import_utils4.createDebug)(options.debug);
54143
54192
  debug(`Continuing deployment: ${options.deploymentId}`);
@@ -54156,7 +54205,20 @@ var require_continue = __commonJS({
54156
54205
  { isDirectory: true, prebuilt: true, vercelOutputDir: outputDir },
54157
54206
  debug
54158
54207
  );
54159
- const files = await (0, import_hashes.hashes)(fileList);
54208
+ const provisionJsonPath = (0, import_path12.join)(outputDir, "provision.json");
54209
+ const unbundledFiles = fileList.filter((f) => f === provisionJsonPath);
54210
+ let files;
54211
+ if (options.archive === "tgz") {
54212
+ files = await (0, import_archive.createTgzFiles)(options.path, fileList, debug, unbundledFiles);
54213
+ if (unbundledFiles.length > 0) {
54214
+ const individualFiles = await (0, import_hashes.hashes)(unbundledFiles);
54215
+ for (const [sha, entry] of individualFiles) {
54216
+ files.set(sha, entry);
54217
+ }
54218
+ }
54219
+ } else {
54220
+ files = await (0, import_hashes.hashes)(fileList);
54221
+ }
54160
54222
  debug(`Calculated ${files.size} unique hashes`);
54161
54223
  yield { type: "hashes-calculated", payload: (0, import_hashes.mapToObject)(files) };
54162
54224
  let deployment;
@@ -58118,10 +58180,14 @@ var serviceConfigSchema = {
58118
58180
  maxLength: 256
58119
58181
  },
58120
58182
  // Worker-specific
58121
- topic: {
58122
- type: "string",
58123
- minLength: 1,
58124
- maxLength: 256
58183
+ topics: {
58184
+ type: "array",
58185
+ items: {
58186
+ type: "string",
58187
+ minLength: 1,
58188
+ maxLength: 256
58189
+ },
58190
+ minItems: 1
58125
58191
  },
58126
58192
  consumer: {
58127
58193
  type: "string",
@@ -58992,6 +59058,7 @@ export {
58992
59058
  require_tar_fs,
58993
59059
  require_dist7 as require_dist,
58994
59060
  require_fast_deep_equal,
59061
+ require_ajv,
58995
59062
  getProjectByNameOrId,
58996
59063
  require_slugify,
58997
59064
  createGitMeta,
@@ -6,13 +6,13 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  writeProjectSettings
9
- } from "./chunk-NQELOCER.js";
9
+ } from "./chunk-XNUNXKF7.js";
10
10
  import {
11
11
  ensureLink
12
- } from "./chunk-KN7ZKW46.js";
12
+ } from "./chunk-OGJEDUQA.js";
13
13
  import {
14
14
  pullCommand
15
- } from "./chunk-OTUROTQ2.js";
15
+ } from "./chunk-O2UWCQCQ.js";
16
16
  import {
17
17
  help
18
18
  } from "./chunk-O5OD4JWH.js";
@@ -22,7 +22,7 @@ import {
22
22
  envPullCommandLogic,
23
23
  humanizePath,
24
24
  parseTarget
25
- } from "./chunk-XNWJLL5I.js";
25
+ } from "./chunk-I3IX2FMH.js";
26
26
  import {
27
27
  TelemetryClient
28
28
  } from "./chunk-MXPZBZ2X.js";
@@ -9,7 +9,7 @@ import {
9
9
  printIndications,
10
10
  require_dist as require_dist2,
11
11
  sleep
12
- } from "./chunk-VKEKG35M.js";
12
+ } from "./chunk-S5LPLVTY.js";
13
13
  import {
14
14
  suggestNextCommands
15
15
  } from "./chunk-XR53KVJD.js";
@@ -20,9 +20,12 @@ import {
20
20
  import {
21
21
  getScope
22
22
  } from "./chunk-QIZEWDZG.js";
23
+ import {
24
+ showPluginTipIfNeeded
25
+ } from "./chunk-NMGLSWD2.js";
23
26
  import {
24
27
  CommandTimeout
25
- } from "./chunk-FB7VLWYT.js";
28
+ } from "./chunk-MDWTNWXT.js";
26
29
  import {
27
30
  ua_default
28
31
  } from "./chunk-5ZVJYXLU.js";
@@ -31,7 +34,7 @@ import {
31
34
  param,
32
35
  require_dist as require_dist3,
33
36
  require_lib3 as require_lib
34
- } from "./chunk-XNWJLL5I.js";
37
+ } from "./chunk-I3IX2FMH.js";
35
38
  import {
36
39
  stamp_default
37
40
  } from "./chunk-SOTR4CXR.js";
@@ -5164,6 +5167,7 @@ async function printDeploymentStatus({
5164
5167
  ].filter(Boolean)
5165
5168
  );
5166
5169
  }
5170
+ await showPluginTipIfNeeded();
5167
5171
  return 0;
5168
5172
  }
5169
5173
 
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  VERCEL_DIR
9
- } from "./chunk-XNWJLL5I.js";
9
+ } from "./chunk-I3IX2FMH.js";
10
10
  import {
11
11
  ConflictingConfigFiles,
12
12
  InvalidLocalConfig,
@@ -6,13 +6,13 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getUpdateCommand
9
- } from "./chunk-E2FTX3MJ.js";
9
+ } from "./chunk-WFPUJOVA.js";
10
10
  import {
11
11
  login
12
- } from "./chunk-VKEKG35M.js";
12
+ } from "./chunk-S5LPLVTY.js";
13
13
  import {
14
14
  loginCommand
15
- } from "./chunk-FB7VLWYT.js";
15
+ } from "./chunk-MDWTNWXT.js";
16
16
  import {
17
17
  help
18
18
  } from "./chunk-O5OD4JWH.js";
@@ -25,10 +25,10 @@ import {
25
25
  import {
26
26
  buildCommand,
27
27
  pullCommand
28
- } from "./chunk-OTUROTQ2.js";
28
+ } from "./chunk-O2UWCQCQ.js";
29
29
  import {
30
30
  envCommand
31
- } from "./chunk-XNWJLL5I.js";
31
+ } from "./chunk-I3IX2FMH.js";
32
32
  import {
33
33
  confirmOption,
34
34
  forceOption,
@@ -165,6 +165,14 @@ var continueSubcommand = {
165
165
  argument: "ID",
166
166
  deprecated: false,
167
167
  description: "The deployment ID to continue (e.g. dpl_xxx)"
168
+ },
169
+ {
170
+ name: "archive",
171
+ shorthand: null,
172
+ type: String,
173
+ argument: "FORMAT",
174
+ deprecated: false,
175
+ description: "Compress the deployment code into an archive before uploading it"
168
176
  }
169
177
  ],
170
178
  examples: [
@@ -3441,6 +3449,39 @@ var pullSubcommand = {
3441
3449
  }
3442
3450
  ]
3443
3451
  };
3452
+ var inspectGroupSubcommand = {
3453
+ name: "inspect-group",
3454
+ aliases: [],
3455
+ description: "Inspect a microfrontends group and return project metadata used for setup automation",
3456
+ arguments: [],
3457
+ options: [
3458
+ {
3459
+ name: "group",
3460
+ shorthand: null,
3461
+ type: String,
3462
+ deprecated: false,
3463
+ description: "Name or ID of the microfrontends group to inspect"
3464
+ },
3465
+ {
3466
+ name: "config-file-name",
3467
+ shorthand: null,
3468
+ type: String,
3469
+ deprecated: false,
3470
+ description: "Custom microfrontends config file path/name relative to the default app root (must end with .json or .jsonc)"
3471
+ },
3472
+ formatOption
3473
+ ],
3474
+ examples: [
3475
+ {
3476
+ name: "Inspect a microfrontends group interactively",
3477
+ value: `${packageName} microfrontends inspect-group`
3478
+ },
3479
+ {
3480
+ name: "Inspect a microfrontends group as JSON",
3481
+ value: `${packageName} mf inspect-group --group="My Group" --format=json`
3482
+ }
3483
+ ]
3484
+ };
3444
3485
  var microfrontendsCommand = {
3445
3486
  name: "microfrontends",
3446
3487
  aliases: ["mf"],
@@ -3451,6 +3492,7 @@ var microfrontendsCommand = {
3451
3492
  addToGroupSubcommand,
3452
3493
  removeFromGroupSubcommand,
3453
3494
  deleteGroupSubcommand,
3495
+ inspectGroupSubcommand,
3454
3496
  pullSubcommand
3455
3497
  ],
3456
3498
  options: [],
@@ -5294,6 +5336,7 @@ export {
5294
5336
  removeFromGroupSubcommand,
5295
5337
  deleteGroupSubcommand,
5296
5338
  pullSubcommand,
5339
+ inspectGroupSubcommand,
5297
5340
  microfrontendsCommand,
5298
5341
  openCommand,
5299
5342
  addSubcommand7,
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  STANDARD_ENVIRONMENTS
9
- } from "./chunk-XNWJLL5I.js";
9
+ } from "./chunk-I3IX2FMH.js";
10
10
  import {
11
11
  getCommandName,
12
12
  require_lib