vercel-cli 48.1.6__py3-none-any.whl → 48.2.2__py3-none-any.whl

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.

Potentially problematic release.


This version of vercel-cli might be problematic. Click here for more details.

@@ -33381,6 +33381,14 @@ var init_command19 = __esm({
33381
33381
  type: String,
33382
33382
  deprecated: false
33383
33383
  },
33384
+ {
33385
+ name: "status",
33386
+ description: "Filter deployments by their status. Can be comma-separated for multiple statuses (e.g.: `--status BUILDING,READY`)",
33387
+ argument: "STATUS",
33388
+ shorthand: "s",
33389
+ type: String,
33390
+ deprecated: false
33391
+ },
33384
33392
  nextOption,
33385
33393
  // this can be deprecated someday
33386
33394
  { name: "prod", shorthand: null, type: Boolean, deprecated: false },
@@ -33403,6 +33411,14 @@ var init_command19 = __esm({
33403
33411
  {
33404
33412
  name: "Paginate deployments for a project, where `1584722256178` is the time in milliseconds since the UNIX epoch",
33405
33413
  value: `${packageName} list my-app --next 1584722256178`
33414
+ },
33415
+ {
33416
+ name: "Filter deployments by status",
33417
+ value: `${packageName} list --status READY`
33418
+ },
33419
+ {
33420
+ name: "Filter deployments by multiple statuses",
33421
+ value: `${packageName} list --status BUILDING,ERROR`
33406
33422
  }
33407
33423
  ]
33408
33424
  };
@@ -49554,7 +49570,7 @@ var require_package = __commonJS2({
49554
49570
  "../client/package.json"(exports2, module2) {
49555
49571
  module2.exports = {
49556
49572
  name: "@vercel/client",
49557
- version: "17.0.0",
49573
+ version: "17.0.1",
49558
49574
  main: "dist/index.js",
49559
49575
  typings: "dist/index.d.ts",
49560
49576
  homepage: "https://vercel.com",
@@ -49596,7 +49612,7 @@ var require_package = __commonJS2({
49596
49612
  "@vercel/build-utils": "12.1.0",
49597
49613
  "@vercel/error-utils": "2.0.3",
49598
49614
  "@vercel/microfrontends": "1.2.2",
49599
- "@vercel/routing-utils": "5.1.1",
49615
+ "@vercel/routing-utils": "5.2.0",
49600
49616
  "async-retry": "1.2.3",
49601
49617
  "async-sema": "3.0.0",
49602
49618
  "fs-extra": "8.0.1",
@@ -116302,7 +116318,7 @@ var require_frameworks = __commonJS2({
116302
116318
  tagline: "FastAPI framework, high performance, easy to learn, fast to code, ready for production",
116303
116319
  description: "FastAPI framework, high performance, easy to learn, fast to code, ready for production",
116304
116320
  website: "https://fastapi.tiangolo.com",
116305
- useRuntime: { src: "main.py", use: "@vercel/python" },
116321
+ useRuntime: { src: "index.py", use: "@vercel/python" },
116306
116322
  detectors: {
116307
116323
  some: [
116308
116324
  {
@@ -116328,20 +116344,21 @@ var require_frameworks = __commonJS2({
116328
116344
  value: null
116329
116345
  },
116330
116346
  devCommand: {
116331
- value: "uvicorn main:app --reload --port $PORT"
116347
+ placeholder: "None",
116348
+ value: null
116332
116349
  },
116333
116350
  outputDirectory: {
116334
116351
  value: "N/A"
116335
116352
  }
116336
116353
  },
116337
- getOutputDirName: async () => "",
116354
+ getOutputDirName: async () => "public",
116338
116355
  defaultRoutes: [
116339
116356
  {
116340
116357
  handle: "filesystem"
116341
116358
  },
116342
116359
  {
116343
116360
  src: "/(.*)",
116344
- dest: "/main"
116361
+ dest: "/"
116345
116362
  }
116346
116363
  ]
116347
116364
  },
@@ -116756,6 +116773,7 @@ var require_frameworks = __commonJS2({
116756
116773
  name: "Express",
116757
116774
  slug: "express",
116758
116775
  logo: "https://api-frameworks.vercel.sh/framework-logos/express.svg",
116776
+ demo: "https://express-vercel-example-demo.vercel.app/",
116759
116777
  darkModeLogo: "https://api-frameworks.vercel.sh/framework-logos/express-dark.svg",
116760
116778
  tagline: "Fast, unopinionated, minimalist web framework for Node.js",
116761
116779
  description: "Fast, unopinionated, minimalist web framework for Node.js",
@@ -117123,6 +117141,51 @@ var require_frameworks = __commonJS2({
117123
117141
  dependency: "h3",
117124
117142
  getOutputDirName: async () => "public"
117125
117143
  },
117144
+ {
117145
+ name: "NestJS",
117146
+ slug: "nestjs",
117147
+ logo: "https://api-frameworks.vercel.sh/framework-logos/nestjs.svg",
117148
+ tagline: "Framework for building efficient, scalable Node.js server-side applications",
117149
+ description: "A progressive Node.js framework for building efficient, reliable and scalable server-side applications.",
117150
+ website: "https://nestjs.com/",
117151
+ useRuntime: { src: "index.js", use: "@vercel/nestjs" },
117152
+ defaultRoutes: [
117153
+ {
117154
+ handle: "filesystem"
117155
+ },
117156
+ {
117157
+ src: "/(.*)",
117158
+ dest: "/"
117159
+ }
117160
+ ],
117161
+ detectors: {
117162
+ every: [{ matchPackage: "@nestjs/core" }],
117163
+ some: [
117164
+ {
117165
+ path: "src/main.ts",
117166
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`
117167
+ }
117168
+ ]
117169
+ },
117170
+ settings: {
117171
+ installCommand: {
117172
+ placeholder: "`yarn install`, `pnpm install`, `npm install`, or `bun install`"
117173
+ },
117174
+ buildCommand: {
117175
+ placeholder: "None",
117176
+ value: null
117177
+ },
117178
+ devCommand: {
117179
+ placeholder: "None",
117180
+ value: null
117181
+ },
117182
+ outputDirectory: {
117183
+ value: "N/A"
117184
+ }
117185
+ },
117186
+ dependency: "nestjs",
117187
+ getOutputDirName: async () => "public"
117188
+ },
117126
117189
  {
117127
117190
  name: "xmcp",
117128
117191
  slug: "xmcp",
@@ -119377,7 +119440,7 @@ var require_detect_builders = __commonJS2({
119377
119440
  builders.push(...apiBuilders);
119378
119441
  }
119379
119442
  if (frontendBuilder) {
119380
- if (frontendBuilder?.use === "@vercel/express" || frontendBuilder?.use === "@vercel/hono") {
119443
+ if (frontendBuilder?.use === "@vercel/express" || frontendBuilder?.use === "@vercel/hono" || frontendBuilder?.use === "@vercel/python") {
119381
119444
  builders.push({
119382
119445
  src: "public/**/*",
119383
119446
  use: "@vercel/static",
@@ -132055,7 +132118,7 @@ var require_superstatic = __commonJS2({
132055
132118
  });
132056
132119
  return { src: r.source, segments };
132057
132120
  }
132058
- var namedGroupsRegex = /\(\?<([a-zA-Z][a-zA-Z0-9]*)>/g;
132121
+ var namedGroupsRegex = /\(\?<([a-zA-Z][a-zA-Z0-9_]*)>/g;
132059
132122
  var normalizeHasKeys = (hasItems = []) => {
132060
132123
  for (const hasItem of hasItems) {
132061
132124
  if ("key" in hasItem && hasItem.type === "header") {
@@ -132422,6 +132485,7 @@ var require_schemas = __commonJS2({
132422
132485
  var __toCommonJS4 = (mod) => __copyProps4(__defProp4({}, "__esModule", { value: true }), mod);
132423
132486
  var schemas_exports = {};
132424
132487
  __export4(schemas_exports, {
132488
+ bulkRedirectsSchema: () => bulkRedirectsSchema,
132425
132489
  cleanUrlsSchema: () => cleanUrlsSchema2,
132426
132490
  hasSchema: () => hasSchema,
132427
132491
  headersSchema: () => headersSchema2,
@@ -132998,6 +133062,44 @@ var require_schemas = __commonJS2({
132998
133062
  description: "When `false`, visiting a path that ends with a forward slash will respond with a `308` status code and redirect to the path without the trailing slash.",
132999
133063
  type: "boolean"
133000
133064
  };
133065
+ var bulkRedirectsSchema = {
133066
+ type: "array",
133067
+ description: "A list of bulk redirect definitions.",
133068
+ items: {
133069
+ type: "object",
133070
+ additionalProperties: false,
133071
+ required: ["source", "destination"],
133072
+ properties: {
133073
+ source: {
133074
+ description: "The exact URL path or pattern to match.",
133075
+ type: "string",
133076
+ maxLength: 2048
133077
+ },
133078
+ destination: {
133079
+ description: "The target URL path where traffic should be redirected.",
133080
+ type: "string",
133081
+ maxLength: 2048
133082
+ },
133083
+ permanent: {
133084
+ description: "A boolean to toggle between permanent and temporary redirect. When `true`, the status code is `308`. When `false` the status code is `307`.",
133085
+ type: "boolean"
133086
+ },
133087
+ statusCode: {
133088
+ description: "An optional integer to define the status code of the redirect.",
133089
+ type: "integer",
133090
+ enum: [301, 302, 307, 308]
133091
+ },
133092
+ sensitive: {
133093
+ description: "A boolean to toggle between case-sensitive and case-insensitive redirect. When `true`, the redirect is case-sensitive. When `false` the redirect is case-insensitive.",
133094
+ type: "boolean"
133095
+ },
133096
+ query: {
133097
+ description: "Whether the query string should be preserved by the redirect. The default is `false`.",
133098
+ type: "boolean"
133099
+ }
133100
+ }
133101
+ }
133102
+ };
133001
133103
  }
133002
133104
  });
133003
133105
 
@@ -144713,6 +144815,9 @@ async function writeBuildResult(repoRootPath, outputDir, buildResult, build2, bu
144713
144815
  if ("experimentalVersion" in builder && process.env.VERCEL_EXPERIMENTAL_EXPRESS_BUILD === "1" && "name" in builder && builder.name === "express") {
144714
144816
  version2 = builder.experimentalVersion;
144715
144817
  }
144818
+ if ("experimentalVersion" in builder && process.env.VERCEL_EXPERIMENTAL_HONO_BUILD === "1" && "name" in builder && builder.name === "hono") {
144819
+ version2 = builder.experimentalVersion;
144820
+ }
144716
144821
  if (typeof version2 !== "number" || version2 === 2) {
144717
144822
  return writeBuildResultV2(
144718
144823
  repoRootPath,
@@ -147095,6 +147200,8 @@ async function doBuild(client2, project, buildsJson, cwd, outputDir, span, stand
147095
147200
  () => {
147096
147201
  if (process.env.VERCEL_EXPERIMENTAL_EXPRESS_BUILD === "1" && "name" in builder && builder.name === "express" && "experimentalBuild" in builder && typeof builder.experimentalBuild === "function") {
147097
147202
  return builder.experimentalBuild(buildOptions);
147203
+ } else if (process.env.VERCEL_EXPERIMENTAL_HONO_BUILD === "1" && "name" in builder && builder.name === "hono" && "experimentalBuild" in builder && typeof builder.experimentalBuild === "function") {
147204
+ return builder.experimentalBuild(buildOptions);
147098
147205
  }
147099
147206
  return builder.build(buildOptions);
147100
147207
  }
@@ -168230,6 +168337,22 @@ async function getBuildMatches(vercelConfig, cwd, devServer, fileList) {
168230
168337
  if (buildConfig.config?.framework === "hono" || buildConfig.config?.framework === "express" || buildConfig.config?.framework === "h3") {
168231
168338
  src = "package.json";
168232
168339
  }
168340
+ if (buildConfig.config?.framework === "fastapi") {
168341
+ const candidateDirs = ["", "src", "app"];
168342
+ const candidateNames = ["app", "index", "server", "main"];
168343
+ const candidates = [];
168344
+ for (const dir of candidateDirs) {
168345
+ for (const name of candidateNames) {
168346
+ candidates.push(dir ? `${dir}/${name}.py` : `${name}.py`);
168347
+ }
168348
+ }
168349
+ if (!fileList.includes(src)) {
168350
+ const existing = candidates.filter((p) => fileList.includes(p));
168351
+ if (existing.length > 0) {
168352
+ src = existing[0];
168353
+ }
168354
+ }
168355
+ }
168233
168356
  const mapToEntrypoint = /* @__PURE__ */ new Map();
168234
168357
  const extensionless = devServer.getExtensionlessFile(src);
168235
168358
  if (extensionless) {
@@ -179731,6 +179854,14 @@ var init_list7 = __esm({
179731
179854
  this.trackCliFlag("confirm");
179732
179855
  }
179733
179856
  }
179857
+ trackCliOptionStatus(status3) {
179858
+ if (status3) {
179859
+ this.trackCliOption({
179860
+ option: "status",
179861
+ value: this.redactedValue
179862
+ });
179863
+ }
179864
+ }
179734
179865
  trackCliArgumentApp(app) {
179735
179866
  if (app) {
179736
179867
  this.trackCliArgument({
@@ -179789,6 +179920,7 @@ async function list5(client2) {
179789
179920
  telemetry2.trackCliOptionMeta(parsedArgs.flags["--meta"]);
179790
179921
  telemetry2.trackCliOptionNext(parsedArgs.flags["--next"]);
179791
179922
  telemetry2.trackCliOptionPolicy(parsedArgs.flags["--policy"]);
179923
+ telemetry2.trackCliOptionStatus(parsedArgs.flags["--status"]);
179792
179924
  if ("--confirm" in parsedArgs.flags) {
179793
179925
  telemetry2.trackCliFlagConfirm(parsedArgs.flags["--confirm"]);
179794
179926
  warn("`--confirm` is deprecated, please use `--yes` instead");
@@ -179801,6 +179933,29 @@ async function list5(client2) {
179801
179933
  flagName: "environment",
179802
179934
  flags: parsedArgs.flags
179803
179935
  });
179936
+ const statusFlag = parsedArgs.flags["--status"];
179937
+ let status3;
179938
+ if (statusFlag) {
179939
+ const validStatuses = [
179940
+ "BUILDING",
179941
+ "ERROR",
179942
+ "INITIALIZING",
179943
+ "QUEUED",
179944
+ "READY",
179945
+ "CANCELED"
179946
+ ];
179947
+ const statusValues = statusFlag.split(",").map((s) => s.trim().toUpperCase());
179948
+ const invalidStatuses = statusValues.filter(
179949
+ (s) => !validStatuses.includes(s)
179950
+ );
179951
+ if (invalidStatuses.length > 0) {
179952
+ error3(
179953
+ `Invalid status values: ${invalidStatuses.join(", ")}. Valid values are: ${validStatuses.join(", ")}`
179954
+ );
179955
+ return 1;
179956
+ }
179957
+ status3 = statusValues.join(",");
179958
+ }
179804
179959
  let project;
179805
179960
  let pagination;
179806
179961
  let contextName = "";
@@ -179889,6 +180044,9 @@ async function list5(client2) {
179889
180044
  if (target) {
179890
180045
  query.set("target", target);
179891
180046
  }
180047
+ if (status3) {
180048
+ query.set("state", status3);
180049
+ }
179892
180050
  for await (const chunk of client2.fetchPaginated(`/v6/deployments?${query}`)) {
179893
180051
  deployments.push(...chunk.deployments);
179894
180052
  pagination = chunk.pagination;
@@ -18,9 +18,9 @@
18
18
  }
19
19
  },
20
20
  "node_modules/@vercel/python": {
21
- "version": "5.0.5",
22
- "resolved": "https://registry.npmjs.org/@vercel/python/-/python-5.0.5.tgz",
23
- "integrity": "sha512-XLG/fDe2hflzNtSWuoASTo+N2c4hl6SbcufvBRYa7BnBQK9t4ZH1IEu+vJkq2AUoVczp5JEYLEXkIGm8KBtoeg==",
21
+ "version": "5.0.7",
22
+ "resolved": "https://registry.npmjs.org/@vercel/python/-/python-5.0.7.tgz",
23
+ "integrity": "sha512-hswxQErqha3aLxPqdisPEN2WpN422OMbxK1O2DA8saPi1opRh1SjD9kFaPu74iY9H0lIjN+evQpBVeCFmn6n2g==",
24
24
  "license": "Apache-2.0"
25
25
  }
26
26
  }