vercel-cli 48.6.6__py3-none-any.whl → 48.7.1__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.

@@ -31698,6 +31698,14 @@ var init_command4 = __esm({
31698
31698
  type: String,
31699
31699
  argument: "TAGS",
31700
31700
  deprecated: false
31701
+ },
31702
+ {
31703
+ name: "srcimg",
31704
+ description: "Source Image to invalidate",
31705
+ shorthand: null,
31706
+ type: String,
31707
+ argument: "SRCIMG",
31708
+ deprecated: false
31701
31709
  }
31702
31710
  ],
31703
31711
  examples: [
@@ -31708,6 +31716,10 @@ var init_command4 = __esm({
31708
31716
  {
31709
31717
  name: "Invalidate all cached content associated with any one of multiple tags",
31710
31718
  value: `${packageName} cache invalidate --tag foo,bar,baz`
31719
+ },
31720
+ {
31721
+ name: "Invalidate all cached content associated with a source image",
31722
+ value: `${packageName} cache invalidate --srcimg /api/avatar/1`
31711
31723
  }
31712
31724
  ]
31713
31725
  };
@@ -31726,6 +31738,14 @@ var init_command4 = __esm({
31726
31738
  argument: "TAGS",
31727
31739
  deprecated: false
31728
31740
  },
31741
+ {
31742
+ name: "srcimg",
31743
+ description: "Source Image to delete",
31744
+ shorthand: null,
31745
+ type: String,
31746
+ argument: "SRCIMG",
31747
+ deprecated: false
31748
+ },
31729
31749
  {
31730
31750
  name: "revalidation-deadline-seconds",
31731
31751
  description: "Revalidation deadline in seconds",
@@ -31743,6 +31763,14 @@ var init_command4 = __esm({
31743
31763
  {
31744
31764
  name: "Dangerously delete all cached content associated with a tag if not accessed in the next hour",
31745
31765
  value: `${packageName} cache dangerously-delete --tag foo --revalidation-deadline-seconds 3600`
31766
+ },
31767
+ {
31768
+ name: "Dangerously delete all cached content associated with a source image",
31769
+ value: `${packageName} cache dangerously-delete --srcimg /api/avatar/1`
31770
+ },
31771
+ {
31772
+ name: "Dangerously delete all cached content associated with a source image if not accessed in the next hour",
31773
+ value: `${packageName} cache dangerously-delete --srcimg /api/avatar/1 --revalidation-deadline-seconds 3600`
31746
31774
  }
31747
31775
  ]
31748
31776
  };
@@ -49550,7 +49578,7 @@ var require_package = __commonJS2({
49550
49578
  "../client/package.json"(exports2, module2) {
49551
49579
  module2.exports = {
49552
49580
  name: "@vercel/client",
49553
- version: "17.1.2",
49581
+ version: "17.1.4",
49554
49582
  main: "dist/index.js",
49555
49583
  typings: "dist/index.d.ts",
49556
49584
  homepage: "https://vercel.com",
@@ -49589,7 +49617,7 @@ var require_package = __commonJS2({
49589
49617
  vitest: "2.0.1"
49590
49618
  },
49591
49619
  dependencies: {
49592
- "@vercel/build-utils": "12.2.1",
49620
+ "@vercel/build-utils": "12.2.3",
49593
49621
  "@vercel/error-utils": "2.0.3",
49594
49622
  "@vercel/microfrontends": "1.2.2",
49595
49623
  "@vercel/routing-utils": "5.2.1",
@@ -117016,6 +117044,7 @@ var require_frameworks = __commonJS2({
117016
117044
  description: "FastAPI framework, high performance, easy to learn, fast to code, ready for production",
117017
117045
  website: "https://fastapi.tiangolo.com",
117018
117046
  useRuntime: { src: "index.py", use: "@vercel/python" },
117047
+ ignoreRuntimes: ["@vercel/python"],
117019
117048
  detectors: {
117020
117049
  some: [
117021
117050
  {
@@ -117067,6 +117096,7 @@ var require_frameworks = __commonJS2({
117067
117096
  description: "A Flask app, ready for production",
117068
117097
  website: "https://flask.palletsprojects.com",
117069
117098
  useRuntime: { src: "index.py", use: "@vercel/python" },
117099
+ ignoreRuntimes: ["@vercel/python"],
117070
117100
  detectors: {
117071
117101
  some: [
117072
117102
  {
@@ -118121,6 +118151,190 @@ var require_frameworks = __commonJS2({
118121
118151
  dependency: "nestjs",
118122
118152
  getOutputDirName: async () => "public"
118123
118153
  },
118154
+ {
118155
+ name: "Elysia",
118156
+ slug: "elysia",
118157
+ logo: "https://api-frameworks.vercel.sh/framework-logos/elysia.svg",
118158
+ tagline: "Ergonomic framework for humans",
118159
+ description: "TypeScript with End-to-End Type Safety, type integrity, and exceptional developer experience. Supercharged by Bun.",
118160
+ website: "https://elysiajs.com/",
118161
+ useRuntime: { src: "index.js", use: "@vercel/elysia" },
118162
+ defaultRoutes: [
118163
+ {
118164
+ handle: "filesystem"
118165
+ },
118166
+ {
118167
+ src: "/(.*)",
118168
+ dest: "/"
118169
+ }
118170
+ ],
118171
+ detectors: {
118172
+ every: [{ matchPackage: "elysia" }],
118173
+ some: [
118174
+ {
118175
+ path: "app.cjs",
118176
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118177
+ },
118178
+ {
118179
+ path: "app.js",
118180
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118181
+ },
118182
+ {
118183
+ path: "app.mjs",
118184
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118185
+ },
118186
+ {
118187
+ path: "app.mts",
118188
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118189
+ },
118190
+ {
118191
+ path: "app.ts",
118192
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118193
+ },
118194
+ {
118195
+ path: "app.cts",
118196
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118197
+ },
118198
+ {
118199
+ path: "index.cjs",
118200
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118201
+ },
118202
+ {
118203
+ path: "index.js",
118204
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118205
+ },
118206
+ {
118207
+ path: "index.mjs",
118208
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118209
+ },
118210
+ {
118211
+ path: "index.mts",
118212
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118213
+ },
118214
+ {
118215
+ path: "index.ts",
118216
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118217
+ },
118218
+ {
118219
+ path: "index.cts",
118220
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118221
+ },
118222
+ {
118223
+ path: "server.cjs",
118224
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118225
+ },
118226
+ {
118227
+ path: "server.js",
118228
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118229
+ },
118230
+ {
118231
+ path: "server.mjs",
118232
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118233
+ },
118234
+ {
118235
+ path: "server.mts",
118236
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118237
+ },
118238
+ {
118239
+ path: "server.ts",
118240
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118241
+ },
118242
+ {
118243
+ path: "server.cts",
118244
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118245
+ },
118246
+ {
118247
+ path: "src/index.cjs",
118248
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118249
+ },
118250
+ {
118251
+ path: "src/index.js",
118252
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118253
+ },
118254
+ {
118255
+ path: "src/index.mjs",
118256
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118257
+ },
118258
+ {
118259
+ path: "src/index.mts",
118260
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118261
+ },
118262
+ {
118263
+ path: "src/index.ts",
118264
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118265
+ },
118266
+ {
118267
+ path: "src/index.cts",
118268
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118269
+ },
118270
+ {
118271
+ path: "src/app.cjs",
118272
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118273
+ },
118274
+ {
118275
+ path: "src/app.js",
118276
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118277
+ },
118278
+ {
118279
+ path: "src/app.mjs",
118280
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118281
+ },
118282
+ {
118283
+ path: "src/app.mts",
118284
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118285
+ },
118286
+ {
118287
+ path: "src/app.ts",
118288
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118289
+ },
118290
+ {
118291
+ path: "src/app.cts",
118292
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118293
+ },
118294
+ {
118295
+ path: "src/server.cjs",
118296
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118297
+ },
118298
+ {
118299
+ path: "src/server.js",
118300
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118301
+ },
118302
+ {
118303
+ path: "src/server.mjs",
118304
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118305
+ },
118306
+ {
118307
+ path: "src/server.mts",
118308
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118309
+ },
118310
+ {
118311
+ path: "src/server.ts",
118312
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118313
+ },
118314
+ {
118315
+ path: "src/server.cts",
118316
+ matchContent: `(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`
118317
+ }
118318
+ ]
118319
+ },
118320
+ settings: {
118321
+ installCommand: {
118322
+ placeholder: "`yarn install`, `pnpm install`, `npm install`, or `bun install`"
118323
+ },
118324
+ buildCommand: {
118325
+ placeholder: "None",
118326
+ value: null
118327
+ },
118328
+ devCommand: {
118329
+ placeholder: "None",
118330
+ value: null
118331
+ },
118332
+ outputDirectory: {
118333
+ value: "N/A"
118334
+ }
118335
+ },
118336
+ getOutputDirName: async () => "public"
118337
+ },
118124
118338
  {
118125
118339
  name: "Fastify",
118126
118340
  slug: "fastify",
@@ -148368,7 +148582,11 @@ async function doBuild(client2, project, buildsJson, cwd, outputDir, span, stand
148368
148582
  let buildResult;
148369
148583
  try {
148370
148584
  buildResult = await builderSpan.trace(
148371
- () => {
148585
+ async () => {
148586
+ if ((0, import_build_utils13.shouldUseExperimentalBackends)(buildConfig.framework) && builderPkg.name !== "@vercel/static") {
148587
+ const experimentalBackendBuilder = await import("@vercel/backends");
148588
+ return experimentalBackendBuilder.build(buildOptions);
148589
+ }
148372
148590
  return builder.build(buildOptions);
148373
148591
  }
148374
148592
  );
@@ -148909,6 +149127,14 @@ var init_invalidate = __esm({
148909
149127
  });
148910
149128
  }
148911
149129
  }
149130
+ trackCliOptionSrcimg(srcimg) {
149131
+ if (srcimg) {
149132
+ this.trackCliOption({
149133
+ option: "srcimg",
149134
+ value: srcimg
149135
+ });
149136
+ }
149137
+ }
148912
149138
  };
148913
149139
  }
148914
149140
  });
@@ -148944,19 +149170,40 @@ async function invalidate(client2, argv) {
148944
149170
  client2.config.currentTeam = org.type === "team" ? org.id : void 0;
148945
149171
  const yes = Boolean(parsedArgs.flags["--yes"]);
148946
149172
  const tag = parsedArgs.flags["--tag"];
149173
+ const srcimg = parsedArgs.flags["--srcimg"];
148947
149174
  telemetry2.trackCliFlagYes(yes);
148948
149175
  telemetry2.trackCliOptionTag(tag);
148949
- if (!tag) {
148950
- output_manager_default.error(`The --tag option is required`);
149176
+ telemetry2.trackCliOptionSrcimg(srcimg);
149177
+ if (tag && srcimg) {
149178
+ output_manager_default.error(`Cannot use both --tag and --srcimg options`);
148951
149179
  return 1;
148952
149180
  }
148953
- const tagsDesc = (0, import_pluralize5.default)("tag", tag.split(",").length, false);
148954
- const msg = `You are about to invalidate all cached content associated with ${tagsDesc} ${tag} for project ${project.name}`;
148955
- const query = new URLSearchParams({ projectIdOrName: project.id }).toString();
149181
+ let itemName = "";
149182
+ let itemValue = "";
149183
+ let flag = "";
149184
+ let postUrl = "";
149185
+ let postBody = {};
149186
+ if (tag) {
149187
+ itemName = (0, import_pluralize5.default)("tag", tag.split(",").length, false);
149188
+ itemValue = tag;
149189
+ flag = "--tag";
149190
+ postUrl = "/v1/edge-cache/invalidate-by-tags";
149191
+ postBody = { tags: tag };
149192
+ } else if (srcimg) {
149193
+ itemName = "source image";
149194
+ itemValue = srcimg;
149195
+ flag = "--srcimg";
149196
+ postUrl = "/v1/edge-cache/invalidate-by-src-images";
149197
+ postBody = { srcImages: [srcimg] };
149198
+ } else {
149199
+ output_manager_default.error(`The --tag or --srcimg option is required`);
149200
+ return 1;
149201
+ }
149202
+ const msg = `You are about to invalidate all cached content associated with ${itemName} ${itemValue} for project ${project.name}`;
148956
149203
  if (!yes) {
148957
149204
  if (!process.stdin.isTTY) {
148958
149205
  output_manager_default.print(
148959
- `${msg}. To continue, run ${getCommandName(`cache invalidate --tag ${tag} --yes`)}.`
149206
+ `${msg}. To continue, run ${getCommandName(`cache invalidate ${flag} ${itemValue} --yes`)}.`
148960
149207
  );
148961
149208
  return 1;
148962
149209
  }
@@ -148967,18 +149214,14 @@ async function invalidate(client2, argv) {
148967
149214
  return 0;
148968
149215
  }
148969
149216
  }
148970
- await client2.fetch(`/v1/edge-cache/invalidate-by-tags?${query}`, {
149217
+ await client2.fetch(`${postUrl}?projectIdOrName=${project.id}`, {
148971
149218
  method: "POST",
148972
- headers: {
148973
- "Content-Type": "application/json"
148974
- },
148975
- body: JSON.stringify({
148976
- tags: tag
148977
- })
149219
+ headers: { "Content-Type": "application/json" },
149220
+ body: JSON.stringify(postBody)
148978
149221
  });
148979
149222
  output_manager_default.print(
148980
149223
  prependEmoji(
148981
- `Successfully invalidated all cached content associated with ${tagsDesc} ${tag}`,
149224
+ `Successfully invalidated all cached content associated with ${itemName} ${itemValue}`,
148982
149225
  emoji("success")
148983
149226
  ) + `
148984
149227
  `
@@ -149022,6 +149265,14 @@ var init_dangerously_delete = __esm({
149022
149265
  });
149023
149266
  }
149024
149267
  }
149268
+ trackCliOptionSrcimg(srcimg) {
149269
+ if (srcimg) {
149270
+ this.trackCliOption({
149271
+ option: "srcimg",
149272
+ value: srcimg
149273
+ });
149274
+ }
149275
+ }
149025
149276
  trackCliOptionRevalidationDeadlineSeconds(seconds) {
149026
149277
  if (seconds) {
149027
149278
  this.trackCliOption({
@@ -149065,22 +149316,43 @@ async function dangerouslyDelete(client2, argv) {
149065
149316
  client2.config.currentTeam = org.type === "team" ? org.id : void 0;
149066
149317
  const yes = Boolean(parsedArgs.flags["--yes"]);
149067
149318
  const tag = parsedArgs.flags["--tag"];
149319
+ const srcimg = parsedArgs.flags["--srcimg"];
149320
+ const revalidate = parsedArgs.flags["--revalidation-deadline-seconds"];
149068
149321
  telemetry2.trackCliFlagYes(yes);
149069
149322
  telemetry2.trackCliOptionTag(tag);
149070
- if (!tag) {
149071
- output_manager_default.error(`The --tag option is required`);
149323
+ telemetry2.trackCliOptionSrcimg(srcimg);
149324
+ telemetry2.trackCliOptionRevalidationDeadlineSeconds(revalidate);
149325
+ if (tag && srcimg) {
149326
+ output_manager_default.error(`Cannot use both --tag and --srcimg options`);
149072
149327
  return 1;
149073
149328
  }
149074
- const revalidate = parsedArgs.flags["--revalidation-deadline-seconds"];
149075
- telemetry2.trackCliOptionRevalidationDeadlineSeconds(revalidate);
149076
- const tagsDesc = (0, import_pluralize6.default)("tag", tag.split(",").length, false);
149077
- const msg = `You are about to dangerously delete all cached content associated with ${tagsDesc} ${tag} for project ${project.name}`;
149078
- const query = new URLSearchParams({ projectIdOrName: project.id }).toString();
149329
+ let itemName = "";
149330
+ let itemValue = "";
149331
+ let flag = "";
149332
+ let postUrl = "";
149333
+ let postBody = {};
149334
+ if (tag) {
149335
+ itemName = (0, import_pluralize6.default)("tag", tag.split(",").length, false);
149336
+ itemValue = tag;
149337
+ flag = "--tag";
149338
+ postUrl = "/v1/edge-cache/dangerously-delete-by-tags";
149339
+ postBody = { tags: tag, revalidationDeadlineSeconds: revalidate };
149340
+ } else if (srcimg) {
149341
+ itemName = "source image";
149342
+ itemValue = srcimg;
149343
+ flag = "--srcimg";
149344
+ postUrl = "/v1/edge-cache/dangerously-delete-by-src-images";
149345
+ postBody = { srcImages: [srcimg], revalidationDeadlineSeconds: revalidate };
149346
+ } else {
149347
+ output_manager_default.error(`The --tag or --srcimg option is required`);
149348
+ return 1;
149349
+ }
149350
+ const msg = `You are about to dangerously delete all cached content associated with ${itemName} ${itemValue} for project ${project.name}`;
149079
149351
  if (!yes) {
149080
149352
  if (!process.stdin.isTTY) {
149081
149353
  const optional = typeof revalidate !== "undefined" ? ` --revalidation-deadline-seconds ${revalidate}` : "";
149082
149354
  output_manager_default.print(
149083
- `${msg}. To continue, run ${getCommandName(`cache dangerously-delete --tag ${tag}${optional} --yes`)}.`
149355
+ `${msg}. To continue, run ${getCommandName(`cache dangerously-delete ${flag} ${itemValue}${optional} --yes`)}.`
149084
149356
  );
149085
149357
  return 1;
149086
149358
  }
@@ -149091,19 +149363,14 @@ async function dangerouslyDelete(client2, argv) {
149091
149363
  return 0;
149092
149364
  }
149093
149365
  }
149094
- await client2.fetch(`/v1/edge-cache/dangerously-delete-by-tags?${query}`, {
149366
+ await client2.fetch(`${postUrl}?projectIdOrName=${project.id}`, {
149095
149367
  method: "POST",
149096
- headers: {
149097
- "Content-Type": "application/json"
149098
- },
149099
- body: JSON.stringify({
149100
- tags: tag,
149101
- revalidationDeadlineSeconds: revalidate
149102
- })
149368
+ headers: { "Content-Type": "application/json" },
149369
+ body: JSON.stringify(postBody)
149103
149370
  });
149104
149371
  output_manager_default.print(
149105
149372
  prependEmoji(
149106
- `Successfully deleted all cached content associated with ${tagsDesc} ${tag}`,
149373
+ `Successfully deleted all cached content associated with ${itemName} ${itemValue}`,
149107
149374
  emoji("success")
149108
149375
  ) + `
149109
149376
  `
@@ -169547,11 +169814,11 @@ async function getBuildMatches(vercelConfig, cwd, devServer, fileList) {
169547
169814
  src = "package.json";
169548
169815
  }
169549
169816
  if (buildConfig.config?.framework === "fastapi" || buildConfig.config?.framework === "flask") {
169550
- const candidateDirs = ["", "src", "app"];
169817
+ const candidateDirs = ["", "src", "app", "api"];
169551
169818
  const candidateNames = ["app", "index", "server", "main"];
169552
169819
  const candidates = [];
169553
- for (const dir of candidateDirs) {
169554
- for (const name of candidateNames) {
169820
+ for (const name of candidateNames) {
169821
+ for (const dir of candidateDirs) {
169555
169822
  candidates.push(dir ? `${dir}/${name}.py` : `${name}.py`);
169556
169823
  }
169557
169824
  }
@@ -3,9 +3,9 @@
3
3
  "requires": true,
4
4
  "packages": {
5
5
  "node_modules/@vercel/build-utils": {
6
- "version": "12.2.1",
7
- "resolved": "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-12.2.1.tgz",
8
- "integrity": "sha512-IomevtBkebGsdSklmugLO2ECiqRUpFR9wLVbjYlyjDtcx67UGMtgdjhfxXSOIYcGzJFiOxy820YI4ajUq88qUg==",
6
+ "version": "12.2.3",
7
+ "resolved": "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-12.2.3.tgz",
8
+ "integrity": "sha512-0g63aF8J7dLYW3PYenxig6gG4PuW3/Gy3PmLXjyX2KwTNrvfIwynKZpJf/naSVSpeN49VbROlxrvaVXVgjlC0A==",
9
9
  "license": "Apache-2.0"
10
10
  },
11
11
  "node_modules/@vercel/detect-agent": {
@@ -18,9 +18,9 @@
18
18
  }
19
19
  },
20
20
  "node_modules/@vercel/python": {
21
- "version": "5.0.10",
22
- "resolved": "https://registry.npmjs.org/@vercel/python/-/python-5.0.10.tgz",
23
- "integrity": "sha512-ZtTH/s2PIdzgN54n0XmB2x1sQZconOR3U1wIGFUc27HQvk+Zzl2YmqId+8HDURhvRjTyGlxZtkjHI6RZU8D0xw==",
21
+ "version": "6.0.0",
22
+ "resolved": "https://registry.npmjs.org/@vercel/python/-/python-6.0.0.tgz",
23
+ "integrity": "sha512-55lsI1LsnTyfKaFmYWb/1qnEG69oA5tvCGDsRFNYGDc5Z9lKOzABIwVVuFK1IpTkXL00AnQFlgq8ni0iGFfBQQ==",
24
24
  "license": "Apache-2.0"
25
25
  }
26
26
  }
@@ -1,5 +1,17 @@
1
1
  # @vercel/build-utils
2
2
 
3
+ ## 12.2.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Add Elysia framework ([#14164](https://github.com/vercel/vercel/pull/14164))
8
+
9
+ ## 12.2.2
10
+
11
+ ### Patch Changes
12
+
13
+ - Allow Node.js 24 behind env var feature flag ([#14160](https://github.com/vercel/vercel/pull/14160))
14
+
3
15
  ## 12.2.1
4
16
 
5
17
  ### Patch Changes
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * List of backend frameworks supported by the experimental backends feature
3
3
  */
4
- export declare const BACKEND_FRAMEWORKS: readonly ["express", "hono", "h3", "nestjs", "fastify"];
4
+ export declare const BACKEND_FRAMEWORKS: readonly ["express", "hono", "h3", "nestjs", "fastify", "elysia"];
5
5
  export type BackendFramework = (typeof BACKEND_FRAMEWORKS)[number];
6
6
  /**
7
7
  * Checks if the given framework is a backend framework
@@ -29,7 +29,8 @@ const BACKEND_FRAMEWORKS = [
29
29
  "hono",
30
30
  "h3",
31
31
  "nestjs",
32
- "fastify"
32
+ "fastify",
33
+ "elysia"
33
34
  ];
34
35
  function isBackendFramework(framework) {
35
36
  if (!framework)
@@ -100,9 +100,19 @@ const BUN_VERSIONS = [
100
100
  })
101
101
  ];
102
102
  function getNodeVersionByMajor(major) {
103
- return NODE_VERSIONS.find((v) => v.major === major);
103
+ return getOptions().find((v) => v.major === major);
104
104
  }
105
105
  function getOptions() {
106
+ if (process.env.VERCEL_ALLOW_NODEJS_24 === "1") {
107
+ return [
108
+ new import_types.NodeVersion({
109
+ major: 24,
110
+ range: "24.x",
111
+ runtime: "nodejs24.x"
112
+ }),
113
+ ...NODE_VERSIONS
114
+ ];
115
+ }
106
116
  return NODE_VERSIONS;
107
117
  }
108
118
  function isNodeVersionAvailable(version) {
@@ -23015,6 +23015,16 @@ var BUN_VERSIONS = [
23015
23015
  })
23016
23016
  ];
23017
23017
  function getOptions() {
23018
+ if (process.env.VERCEL_ALLOW_NODEJS_24 === "1") {
23019
+ return [
23020
+ new NodeVersion({
23021
+ major: 24,
23022
+ range: "24.x",
23023
+ runtime: "nodejs24.x"
23024
+ }),
23025
+ ...NODE_VERSIONS
23026
+ ];
23027
+ }
23018
23028
  return NODE_VERSIONS;
23019
23029
  }
23020
23030
  function isNodeVersionAvailable(version) {
@@ -24772,7 +24782,8 @@ var BACKEND_FRAMEWORKS = [
24772
24782
  "hono",
24773
24783
  "h3",
24774
24784
  "nestjs",
24775
- "fastify"
24785
+ "fastify",
24786
+ "elysia"
24776
24787
  ];
24777
24788
  function isBackendFramework(framework) {
24778
24789
  if (!framework)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/build-utils",
3
- "version": "12.2.1",
3
+ "version": "12.2.3",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.js",
@@ -3206,7 +3206,7 @@ var import_fs2 = __toESM(require("fs"));
3206
3206
  var import_path2 = require("path");
3207
3207
  var import_build_utils3 = require("@vercel/build-utils");
3208
3208
  var FASTAPI_ENTRYPOINT_FILENAMES = ["app", "index", "server", "main"];
3209
- var FASTAPI_ENTRYPOINT_DIRS = ["", "src", "app"];
3209
+ var FASTAPI_ENTRYPOINT_DIRS = ["", "src", "app", "api"];
3210
3210
  var FASTAPI_CONTENT_REGEX = /(from\s+fastapi\s+import\s+FastAPI|import\s+fastapi|FastAPI\s*\()/;
3211
3211
  var FASTAPI_CANDIDATE_ENTRYPOINTS = FASTAPI_ENTRYPOINT_FILENAMES.flatMap(
3212
3212
  (filename) => FASTAPI_ENTRYPOINT_DIRS.map(
@@ -3225,7 +3225,7 @@ function isFastapiEntrypoint(file) {
3225
3225
  }
3226
3226
  }
3227
3227
  var FLASK_ENTRYPOINT_FILENAMES = ["app", "index", "server", "main"];
3228
- var FLASK_ENTRYPOINT_DIRS = ["", "src", "app"];
3228
+ var FLASK_ENTRYPOINT_DIRS = ["", "src", "app", "api"];
3229
3229
  var FLASK_CONTENT_REGEX = /(from\s+flask\s+import\s+Flask|import\s+flask|Flask\s*\()/;
3230
3230
  var FLASK_CANDIDATE_ENTRYPOINTS = FLASK_ENTRYPOINT_FILENAMES.flatMap(
3231
3231
  (filename) => FLASK_ENTRYPOINT_DIRS.map(
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/python",
3
- "version": "5.0.10",
3
+ "version": "6.0.0",
4
4
  "main": "./dist/index.js",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://vercel.com/docs/runtimes#official-runtimes/python",
@@ -21,7 +21,7 @@
21
21
  "@types/jest": "27.4.1",
22
22
  "@types/node": "14.18.33",
23
23
  "@types/which": "3.0.0",
24
- "@vercel/build-utils": "12.1.3",
24
+ "@vercel/build-utils": "12.2.3",
25
25
  "cross-env": "7.0.3",
26
26
  "execa": "^1.0.0",
27
27
  "fs-extra": "11.1.1",
@@ -4,9 +4,9 @@
4
4
  "vercel": "./dist/vc.js"
5
5
  },
6
6
  "dependencies": {
7
- "@vercel/build-utils": "12.2.1",
7
+ "@vercel/build-utils": "12.2.3",
8
8
  "@vercel/detect-agent": "1.0.0",
9
- "@vercel/python": "5.0.10"
9
+ "@vercel/python": "6.0.0"
10
10
  },
11
11
  "description": "The command-line interface for Vercel",
12
12
  "engines": {
@@ -30,12 +30,12 @@
30
30
  "dev": "echo \"'pnpm dev [command]' has been removed. Use 'pnpm vercel [command]' instead.\" && exit 1",
31
31
  "test": "jest --reporters=default --reporters=jest-junit --env node --verbose --bail",
32
32
  "test-dev": "pnpm test test/dev/",
33
- "test-e2e": "rimraf test/fixtures/integration && pnpm test test/integration-1.test.ts test/integration-2.test.ts test/integration-3.test.ts",
33
+ "test-e2e-node-all-versions": "rimraf test/fixtures/integration && pnpm test test/integration-1.test.ts test/integration-2.test.ts test/integration-3.test.ts",
34
34
  "type-check": "tsc --noEmit",
35
35
  "vc": "pnpm vercel",
36
36
  "vercel": "pnpm build && node ./dist/vc.js",
37
37
  "vitest-run": "vitest --config ./vitest.config.mts",
38
38
  "vitest-unit": "jest test/unit/ --listTests"
39
39
  },
40
- "version": "48.6.6"
40
+ "version": "48.7.1"
41
41
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vercel-cli
3
- Version: 48.6.6
3
+ Version: 48.7.1
4
4
  Summary: Vercel CLI packaged for Python (bundled Node.js, vendored npm)
5
5
  Project-URL: Homepage, https://github.com/nuage-studio/vercel-cli-python
6
6
  Project-URL: Repository, https://github.com/nuage-studio/vercel-cli-python
@@ -1,20 +1,20 @@
1
1
  vercel_cli/vendor/LICENSE,sha256=sHDXe_ssUqHdaZbeDOX2TEmgylXIibFjqWPd9csAHuI,11343
2
2
  vercel_cli/vendor/README.md,sha256=2ZrJzd7x21xlpsOZ9QKG6478zbXb8-3YN8cPyzPxZNk,1799
3
- vercel_cli/vendor/package.json,sha256=jB7obU4RW4A438T2N5vXDoPmbfNiMx2HkJDhQ19I0_M,1271
3
+ vercel_cli/vendor/package.json,sha256=A5piLkNERMg8_-90k0GPeJikoOW_IZzRuy9_LofqxQI,1288
4
4
  vercel_cli/vendor/dist/VERCEL_DIR_README.txt,sha256=9dHtD1AyrhKJMfRkWbX6oa9jGfwt-z56X-VKhL-T29Y,520
5
5
  vercel_cli/vendor/dist/builder-worker.js,sha256=RgutTXJcurRisV2NtlruuPDtCBOi8eHSGCo3n4GcCIM,1969
6
6
  vercel_cli/vendor/dist/get-latest-worker.js,sha256=w7nK8nQtlYad_SKuFQGw_sg7_bb-p0uHOf1MYiwrUNs,7964
7
- vercel_cli/vendor/dist/index.js,sha256=f80_H5glyWjM8vvOUOJUFyqTPzw962qRn-_Cd7yncYY,8925167
7
+ vercel_cli/vendor/dist/index.js,sha256=6CFIVAINswWFTwd2AWPZXilf7qME9EPOeaehjnqIvvw,8935052
8
8
  vercel_cli/vendor/dist/vc.js,sha256=AAC4u6uwjpO0KfFVuLRs5YWXjW4aMCkgSj_45hR3W8k,340
9
- vercel_cli/vendor/node_modules/.package-lock.json,sha256=xSHD7kVBnIuSasSM3Pt3vIRzEcx590SO-rur6T2r1oc,1055
10
- vercel_cli/vendor/node_modules/@vercel/build-utils/CHANGELOG.md,sha256=nNVvKFPTep1aAET8z64_f681pKl0xvCqE67iRkBDCSM,18706
9
+ vercel_cli/vendor/node_modules/.package-lock.json,sha256=UnTiogNyF5s9SUav3huUpvZ_023_CqYOHkLqgwcfReI,1053
10
+ vercel_cli/vendor/node_modules/@vercel/build-utils/CHANGELOG.md,sha256=lMIZBBFBOup7NS6HG2JbUPfE5zGDG-_s8a8nQFDoYWQ,18950
11
11
  vercel_cli/vendor/node_modules/@vercel/build-utils/LICENSE,sha256=sHDXe_ssUqHdaZbeDOX2TEmgylXIibFjqWPd9csAHuI,11343
12
12
  vercel_cli/vendor/node_modules/@vercel/build-utils/build.mjs,sha256=UCAJgPaur_bxtLTnQxSkBwoq246SSCBvI-0w_PvbAVU,132
13
13
  vercel_cli/vendor/node_modules/@vercel/build-utils/file-blob.js,sha256=aRpphtlekNrjt2il5QT0F2bXAkqFTO_V1krxIOq4hrI,51
14
14
  vercel_cli/vendor/node_modules/@vercel/build-utils/file-fs-ref.js,sha256=fOL25R1bIwSeLf_imxHGMUUhjRLF_BE1_Zu7id4zQHQ,52
15
15
  vercel_cli/vendor/node_modules/@vercel/build-utils/file-ref.js,sha256=Zagnve_F2XviRbTHabnkueLyODg4bS0YrNSqd3nfIl8,50
16
16
  vercel_cli/vendor/node_modules/@vercel/build-utils/lambda.js,sha256=KAiW9B7zt1YNj6DpnUErjD8pZJUq7MP1xCTG8oFzCKU,42
17
- vercel_cli/vendor/node_modules/@vercel/build-utils/package.json,sha256=ZH3vU6W223QO8aeFskaXMjmFQLFRNI7f8LNvGZVbJOM,1847
17
+ vercel_cli/vendor/node_modules/@vercel/build-utils/package.json,sha256=BF9p5RVzys2lFoz-LNXp8W3MIhQefte7TbyHormtAtI,1847
18
18
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/clone-env.d.ts,sha256=j_d2xvRDDMBB4yXz53kyZ-plZRvg0Rg1d9-lFFvjVRo,415
19
19
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/clone-env.js,sha256=LzFB8CsnB1G7wZ2pl5D25siWq0kuY2eTvRlZMj6tbg0,1423
20
20
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/debug.d.ts,sha256=zh9K0T0QHcac03_UpCv9r4q3w8aia11XqtWd7Jsfhos,76
@@ -31,8 +31,8 @@ vercel_cli/vendor/node_modules/@vercel/build-utils/dist/file-fs-ref.d.ts,sha256=
31
31
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/file-fs-ref.js,sha256=AXyXrTwRJTeqLOBhWGKm_KMkAiMxjOJpQlrW4lFotiU,3910
32
32
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/file-ref.d.ts,sha256=TavWfLrgq6soixSDYhdsvt8MtzIB_qLJPcbo02pm_Ts,1098
33
33
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/file-ref.js,sha256=7rTV64WuFTvLurFsNE8JWCC4Y7EFFgiqwtCAe9Co3CU,4929
34
- vercel_cli/vendor/node_modules/@vercel/build-utils/dist/framework-helpers.d.ts,sha256=IRG_QtqC8nldsMuBFyRmUzVTLDwBa5beZ8WtE82tVFk,772
35
- vercel_cli/vendor/node_modules/@vercel/build-utils/dist/framework-helpers.js,sha256=3kXU2W2xicW5bwcFKIFQ3RVhaCNu9qtOG4Zi0KVWeNA,1991
34
+ vercel_cli/vendor/node_modules/@vercel/build-utils/dist/framework-helpers.d.ts,sha256=kaSv_huoAkhBBwTabmHtbLUe-VcQBmQjWjP_QWy0mDw,782
35
+ vercel_cli/vendor/node_modules/@vercel/build-utils/dist/framework-helpers.js,sha256=41oh7NxpVDGwS1J7HVKCAnoF5elgjotUEvx1g0jPfpQ,2003
36
36
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/generate-node-builder-functions.d.ts,sha256=Qb_-JRWbd1gWWZBjNCRbXGzKneYF9QLQufU4IW0o2g8,509
37
37
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/generate-node-builder-functions.js,sha256=DhEN1dmoC8xRb3BMVefBCEpOZ6yhZrmdqvRcUFhWCB4,7550
38
38
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/get-ignore-filter.d.ts,sha256=Rr_2-k8x2nv7naAZFeV-vDiMjOiyQRn3ldqdSeh3jaE,113
@@ -46,7 +46,7 @@ vercel_cli/vendor/node_modules/@vercel/build-utils/dist/get-prefixed-env-vars.js
46
46
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/hard-link-dir.d.ts,sha256=HplXUbwTLeD9eY-mSorms1O1mucLWBH-edAPIvAiYSM,85
47
47
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/hard-link-dir.js,sha256=K4utFK-gzVTfepi8P488t4cFBHBA8virdMyFumvu8E8,3685
48
48
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/index.d.ts,sha256=uhPAgdJem38X_WAjhOp_nMSTjcq-1JltuFiCxuyVT7g,3159
49
- vercel_cli/vendor/node_modules/@vercel/build-utils/dist/index.js,sha256=_cBhEInmUL5-gWKG1-K9bq1IBJEMGaTzUyR2NzWKgks,1138121
49
+ vercel_cli/vendor/node_modules/@vercel/build-utils/dist/index.js,sha256=B4RQSKtdgGUt2zvg_QIDJcWAraRCocNQqf6WNPpzDhg,1138338
50
50
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/lambda.d.ts,sha256=wpPR6WTT3dvm0RBJ0KqaPW9ATmHMav4_uFvAnuxeWQQ,4746
51
51
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/lambda.js,sha256=MZS-MK-rCX6B5FPUiecss3a5wqSbSm--6mMp6Pu-Tu4,11598
52
52
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/nodejs-lambda.d.ts,sha256=LwC890Vt5ilvPpMhqRt8X0eOycQHa_vAsCeBf3KoKik,595
@@ -70,7 +70,7 @@ vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/get-writable-director
70
70
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/glob.d.ts,sha256=wEBK0FOg-tOiWcp-QZLtA2r5bRbibV-Ic75A5qg2bFk,364
71
71
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/glob.js,sha256=SRM_-ufdBHgeqJaW_nBwujRjmfjLsxbHFho5k5tO1bY,4519
72
72
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/node-version.d.ts,sha256=_VdEAqvrWqkBmCkv75b_0nHcDJ9kJZ9xMQINXggufBk,933
73
- vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/node-version.js,sha256=-qUIEFes4WA5I3WRaUZOxkVXvuv_RfM0dfuCabyEI9A,7280
73
+ vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/node-version.js,sha256=txMFCsuu6Mj6Ty9IftiQU2VqK5F9EfbPS0Os3V3Fp68,7497
74
74
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/normalize-path.d.ts,sha256=pMZyTNN1scwUc7cBCWEk8-lwxI5KIjazfNLqkInqVrg,116
75
75
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/normalize-path.js,sha256=mdFXSxNkmBBpEs5szUMVt7yVFcnTANXt84_BnyNqpBI,1188
76
76
  vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/read-config-file.d.ts,sha256=KO7AYZGrouVIOwaCYyOoqyVd6e7UFrZa9yWqsoHqU4Y,88
@@ -100,12 +100,12 @@ vercel_cli/vendor/node_modules/@vercel/detect-agent/package.json,sha256=skFFT-Up
100
100
  vercel_cli/vendor/node_modules/@vercel/detect-agent/dist/index.d.ts,sha256=3HzKZBBpy_L_9ZFprqKrWHCTmazGlzGoqvx6MRABkjg,901
101
101
  vercel_cli/vendor/node_modules/@vercel/detect-agent/dist/index.js,sha256=likIDfr0UHioDUkMLymGQoCfoOhDvj0c3mP2VyP9StA,2510
102
102
  vercel_cli/vendor/node_modules/@vercel/python/LICENSE,sha256=sHDXe_ssUqHdaZbeDOX2TEmgylXIibFjqWPd9csAHuI,11343
103
- vercel_cli/vendor/node_modules/@vercel/python/package.json,sha256=2JbjnfPDP83BBxc5z65Jgbh6U_KdPc1hxurYpZzB6Wg,1099
103
+ vercel_cli/vendor/node_modules/@vercel/python/package.json,sha256=MpO0f0K8NXyoRR-2f2pfsqDo0V0iSxH1vf7bhLZQ6T4,1098
104
104
  vercel_cli/vendor/node_modules/@vercel/python/vc_init.py,sha256=A7949hQi18B9yqPkTr1bepToi7nKRh_yRP7GwmsI-Ww,28201
105
105
  vercel_cli/vendor/node_modules/@vercel/python/vc_init_dev_asgi.py,sha256=pV9s5Jz4AS_JswthCOP3L6SPWVgk_2kRD1REgA9GKIQ,3078
106
106
  vercel_cli/vendor/node_modules/@vercel/python/vc_init_dev_wsgi.py,sha256=pnNGrPJtPF9OdioaiIdD_OgA3qdio4HqGmKaenogtAk,4078
107
- vercel_cli/vendor/node_modules/@vercel/python/dist/index.js,sha256=fAumiV0j6qLydhmE1mcuKhUarPee09cOpcOlwrUOz_0,136129
108
- vercel_cli-48.6.6.dist-info/METADATA,sha256=07u99WZnHZg-iLy-p8OCOw07CulCDKncVnTKjrJsej4,7085
109
- vercel_cli-48.6.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
110
- vercel_cli-48.6.6.dist-info/entry_points.txt,sha256=3iHkg20gi2BZorK1g5UlyZY3tN5E1vJX6PX5-ibn9fI,83
111
- vercel_cli-48.6.6.dist-info/RECORD,,
107
+ vercel_cli/vendor/node_modules/@vercel/python/dist/index.js,sha256=Fm31RpvUIksIVXi2ZHRSOdUScOMpbHL7A2uqspmRcx8,136143
108
+ vercel_cli-48.7.1.dist-info/METADATA,sha256=hu1n2mKdkmdOHj5vJwfsVQWGaoRjw1agQPTg9eZ3OHQ,7085
109
+ vercel_cli-48.7.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
110
+ vercel_cli-48.7.1.dist-info/entry_points.txt,sha256=3iHkg20gi2BZorK1g5UlyZY3tN5E1vJX6PX5-ibn9fI,83
111
+ vercel_cli-48.7.1.dist-info/RECORD,,