vercel 50.4.7 → 50.4.9

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 (2) hide show
  1. package/dist/index.js +370 -51
  2. package/package.json +22 -22
package/dist/index.js CHANGED
@@ -31022,7 +31022,7 @@ var SENTRY_DSN;
31022
31022
  var init_constants = __esm({
31023
31023
  "src/util/constants.ts"() {
31024
31024
  "use strict";
31025
- SENTRY_DSN = "https://26a24e59ba954011919a524b341b6ab5@sentry.io/1323225";
31025
+ SENTRY_DSN = void 0;
31026
31026
  }
31027
31027
  });
31028
31028
 
@@ -50328,7 +50328,7 @@ var require_package = __commonJS2({
50328
50328
  "../client/package.json"(exports2, module2) {
50329
50329
  module2.exports = {
50330
50330
  name: "@vercel/client",
50331
- version: "17.2.26",
50331
+ version: "17.2.28",
50332
50332
  main: "dist/index.js",
50333
50333
  typings: "dist/index.d.ts",
50334
50334
  homepage: "https://vercel.com",
@@ -50358,7 +50358,7 @@ var require_package = __commonJS2({
50358
50358
  "@types/jest": "27.4.1",
50359
50359
  "@types/minimatch": "3.0.5",
50360
50360
  "@types/ms": "0.7.30",
50361
- "@types/node": "16.18.119",
50361
+ "@types/node": "20.11.0",
50362
50362
  "@types/node-fetch": "2.5.4",
50363
50363
  "@types/recursive-readdir": "2.2.0",
50364
50364
  "@types/tar-fs": "1.16.1",
@@ -81394,6 +81394,7 @@ var require_frameworks = __commonJS2({
81394
81394
  name: "Python",
81395
81395
  slug: "python",
81396
81396
  experimental: true,
81397
+ runtimeFramework: true,
81397
81398
  logo: "https://api-frameworks.vercel.sh/framework-logos/python.svg",
81398
81399
  tagline: "Python is a programming language that lets you work quickly and integrate systems more effectively.",
81399
81400
  description: "A generic Python application deployed as a serverless function.",
@@ -81440,6 +81441,33 @@ var require_frameworks = __commonJS2({
81440
81441
  }
81441
81442
  ]
81442
81443
  },
81444
+ {
81445
+ name: "Services",
81446
+ slug: "services",
81447
+ experimental: true,
81448
+ logo: "https://api-frameworks.vercel.sh/framework-logos/other.svg",
81449
+ tagline: "Multiple services deployed as serverless functions within your project.",
81450
+ description: "Multiple services deployed as serverless functions within your project.",
81451
+ website: "https://vercel.com",
81452
+ detectors: {},
81453
+ settings: {
81454
+ installCommand: {
81455
+ placeholder: "None"
81456
+ },
81457
+ buildCommand: {
81458
+ placeholder: "None",
81459
+ value: null
81460
+ },
81461
+ devCommand: {
81462
+ placeholder: "None",
81463
+ value: null
81464
+ },
81465
+ outputDirectory: {
81466
+ value: "N/A"
81467
+ }
81468
+ },
81469
+ getOutputDirName: async () => "public"
81470
+ },
81443
81471
  {
81444
81472
  name: "Other",
81445
81473
  slug: null,
@@ -84234,6 +84262,168 @@ var require_detect_builders = __commonJS2({
84234
84262
  }
84235
84263
  });
84236
84264
 
84265
+ // ../fs-detectors/dist/services/resolve.js
84266
+ var require_resolve2 = __commonJS2({
84267
+ "../fs-detectors/dist/services/resolve.js"(exports2, module2) {
84268
+ "use strict";
84269
+ var __defProp4 = Object.defineProperty;
84270
+ var __getOwnPropDesc4 = Object.getOwnPropertyDescriptor;
84271
+ var __getOwnPropNames4 = Object.getOwnPropertyNames;
84272
+ var __hasOwnProp4 = Object.prototype.hasOwnProperty;
84273
+ var __export4 = (target, all) => {
84274
+ for (var name in all)
84275
+ __defProp4(target, name, { get: all[name], enumerable: true });
84276
+ };
84277
+ var __copyProps4 = (to, from, except, desc) => {
84278
+ if (from && typeof from === "object" || typeof from === "function") {
84279
+ for (let key of __getOwnPropNames4(from))
84280
+ if (!__hasOwnProp4.call(to, key) && key !== except)
84281
+ __defProp4(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc4(from, key)) || desc.enumerable });
84282
+ }
84283
+ return to;
84284
+ };
84285
+ var __toCommonJS4 = (mod) => __copyProps4(__defProp4({}, "__esModule", { value: true }), mod);
84286
+ var resolve_exports = {};
84287
+ __export4(resolve_exports, {
84288
+ resolveService: () => resolveService,
84289
+ validateServiceConfig: () => validateServiceConfig
84290
+ });
84291
+ module2.exports = __toCommonJS4(resolve_exports);
84292
+ function validateServiceConfig(name, config2) {
84293
+ if (config2.type === "cron" && !config2.schedule) {
84294
+ return {
84295
+ code: "MISSING_CRON_SCHEDULE",
84296
+ message: `Cron service "${name}" is missing required "schedule" field`,
84297
+ serviceName: name
84298
+ };
84299
+ }
84300
+ return null;
84301
+ }
84302
+ function resolveService(name, config2, group) {
84303
+ const type = config2.type || "web";
84304
+ const workspace = config2.workspace || ".";
84305
+ const topic = type === "worker" ? config2.topic || "default" : config2.topic;
84306
+ const consumer = type === "worker" ? config2.consumer || "default" : config2.consumer;
84307
+ return {
84308
+ name,
84309
+ type,
84310
+ group,
84311
+ workspace,
84312
+ entrypoint: config2.entrypoint,
84313
+ routePrefix: config2.routePrefix,
84314
+ framework: config2.framework,
84315
+ builder: config2.builder,
84316
+ runtime: config2.runtime,
84317
+ buildCommand: config2.buildCommand,
84318
+ installCommand: config2.installCommand,
84319
+ memory: config2.memory,
84320
+ maxDuration: config2.maxDuration,
84321
+ includeFiles: config2.includeFiles,
84322
+ excludeFiles: config2.excludeFiles,
84323
+ schedule: config2.schedule,
84324
+ topic,
84325
+ consumer
84326
+ };
84327
+ }
84328
+ }
84329
+ });
84330
+
84331
+ // ../fs-detectors/dist/services/types.js
84332
+ var require_types4 = __commonJS2({
84333
+ "../fs-detectors/dist/services/types.js"(exports2, module2) {
84334
+ "use strict";
84335
+ var __defProp4 = Object.defineProperty;
84336
+ var __getOwnPropDesc4 = Object.getOwnPropertyDescriptor;
84337
+ var __getOwnPropNames4 = Object.getOwnPropertyNames;
84338
+ var __hasOwnProp4 = Object.prototype.hasOwnProperty;
84339
+ var __export4 = (target, all) => {
84340
+ for (var name in all)
84341
+ __defProp4(target, name, { get: all[name], enumerable: true });
84342
+ };
84343
+ var __copyProps4 = (to, from, except, desc) => {
84344
+ if (from && typeof from === "object" || typeof from === "function") {
84345
+ for (let key of __getOwnPropNames4(from))
84346
+ if (!__hasOwnProp4.call(to, key) && key !== except)
84347
+ __defProp4(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc4(from, key)) || desc.enumerable });
84348
+ }
84349
+ return to;
84350
+ };
84351
+ var __toCommonJS4 = (mod) => __copyProps4(__defProp4({}, "__esModule", { value: true }), mod);
84352
+ var types_exports = {};
84353
+ __export4(types_exports, {
84354
+ RUNTIME_BUILDERS: () => RUNTIME_BUILDERS
84355
+ });
84356
+ module2.exports = __toCommonJS4(types_exports);
84357
+ var RUNTIME_BUILDERS = {
84358
+ node: "@vercel/node",
84359
+ python: "@vercel/python",
84360
+ go: "@vercel/go",
84361
+ rust: "@vercel/rust",
84362
+ ruby: "@vercel/ruby"
84363
+ };
84364
+ }
84365
+ });
84366
+
84367
+ // ../fs-detectors/dist/services/index.js
84368
+ var require_services = __commonJS2({
84369
+ "../fs-detectors/dist/services/index.js"(exports2, module2) {
84370
+ "use strict";
84371
+ var __defProp4 = Object.defineProperty;
84372
+ var __getOwnPropDesc4 = Object.getOwnPropertyDescriptor;
84373
+ var __getOwnPropNames4 = Object.getOwnPropertyNames;
84374
+ var __hasOwnProp4 = Object.prototype.hasOwnProperty;
84375
+ var __export4 = (target, all) => {
84376
+ for (var name in all)
84377
+ __defProp4(target, name, { get: all[name], enumerable: true });
84378
+ };
84379
+ var __copyProps4 = (to, from, except, desc) => {
84380
+ if (from && typeof from === "object" || typeof from === "function") {
84381
+ for (let key of __getOwnPropNames4(from))
84382
+ if (!__hasOwnProp4.call(to, key) && key !== except)
84383
+ __defProp4(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc4(from, key)) || desc.enumerable });
84384
+ }
84385
+ return to;
84386
+ };
84387
+ var __reExport = (target, mod, secondTarget) => (__copyProps4(target, mod, "default"), secondTarget && __copyProps4(secondTarget, mod, "default"));
84388
+ var __toCommonJS4 = (mod) => __copyProps4(__defProp4({}, "__esModule", { value: true }), mod);
84389
+ var services_exports = {};
84390
+ __export4(services_exports, {
84391
+ detectServices: () => detectServices2
84392
+ });
84393
+ module2.exports = __toCommonJS4(services_exports);
84394
+ var import_resolve = require_resolve2();
84395
+ __reExport(services_exports, require_types4(), module2.exports);
84396
+ __reExport(services_exports, require_resolve2(), module2.exports);
84397
+ async function detectServices2(options) {
84398
+ const { fs: fs15, workPath = "" } = options;
84399
+ const services = [];
84400
+ const errors = [];
84401
+ const configPath = workPath ? `${workPath}/vercel.json` : "vercel.json";
84402
+ let experimentalServices;
84403
+ try {
84404
+ const configBuffer = await fs15.readFile(configPath);
84405
+ const config2 = JSON.parse(configBuffer.toString("utf-8"));
84406
+ experimentalServices = config2.experimentalServices;
84407
+ } catch {
84408
+ return { services, errors };
84409
+ }
84410
+ if (experimentalServices && typeof experimentalServices === "object") {
84411
+ for (const name of Object.keys(experimentalServices)) {
84412
+ const serviceConfig = experimentalServices[name];
84413
+ const validationError = (0, import_resolve.validateServiceConfig)(name, serviceConfig);
84414
+ if (validationError) {
84415
+ errors.push(validationError);
84416
+ continue;
84417
+ }
84418
+ const resolved = (0, import_resolve.resolveService)(name, serviceConfig);
84419
+ services.push(resolved);
84420
+ }
84421
+ }
84422
+ return { services, errors };
84423
+ }
84424
+ }
84425
+ });
84426
+
84237
84427
  // ../fs-detectors/dist/detect-file-system-api.js
84238
84428
  var require_detect_file_system_api = __commonJS2({
84239
84429
  "../fs-detectors/dist/detect-file-system-api.js"(exports2, module2) {
@@ -91298,6 +91488,7 @@ var require_dist8 = __commonJS2({
91298
91488
  detectFrameworks: () => import_detect_framework.detectFrameworks,
91299
91489
  detectInstrumentation: () => import_detect_instrumentation.detectInstrumentation,
91300
91490
  detectOutputDirectory: () => import_detect_builders.detectOutputDirectory,
91491
+ detectServices: () => import_services.detectServices,
91301
91492
  getProjectPaths: () => import_get_project_paths.getProjectPaths,
91302
91493
  getWorkspacePackagePaths: () => import_get_workspace_package_paths.getWorkspacePackagePaths,
91303
91494
  getWorkspaces: () => import_get_workspaces.getWorkspaces,
@@ -91309,6 +91500,7 @@ var require_dist8 = __commonJS2({
91309
91500
  });
91310
91501
  module2.exports = __toCommonJS4(src_exports2);
91311
91502
  var import_detect_builders = require_detect_builders();
91503
+ var import_services = require_services();
91312
91504
  var import_detect_file_system_api = require_detect_file_system_api();
91313
91505
  var import_detect_framework = require_detect_framework();
91314
91506
  var import_get_project_paths = require_get_project_paths();
@@ -110627,7 +110819,7 @@ var init_tslib_es6 = __esm({
110627
110819
  });
110628
110820
 
110629
110821
  // ../../node_modules/.pnpm/ast-types@0.13.4/node_modules/ast-types/lib/types.js
110630
- var require_types4 = __commonJS2({
110822
+ var require_types5 = __commonJS2({
110631
110823
  "../../node_modules/.pnpm/ast-types@0.13.4/node_modules/ast-types/lib/types.js"(exports2) {
110632
110824
  "use strict";
110633
110825
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -111317,7 +111509,7 @@ var require_path4 = __commonJS2({
111317
111509
  "use strict";
111318
111510
  Object.defineProperty(exports2, "__esModule", { value: true });
111319
111511
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
111320
- var types_1 = tslib_1.__importDefault(require_types4());
111512
+ var types_1 = tslib_1.__importDefault(require_types5());
111321
111513
  var Op = Object.prototype;
111322
111514
  var hasOwn = Op.hasOwnProperty;
111323
111515
  function pathPlugin(fork3) {
@@ -111620,7 +111812,7 @@ var require_scope2 = __commonJS2({
111620
111812
  "use strict";
111621
111813
  Object.defineProperty(exports2, "__esModule", { value: true });
111622
111814
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
111623
- var types_1 = tslib_1.__importDefault(require_types4());
111815
+ var types_1 = tslib_1.__importDefault(require_types5());
111624
111816
  var hasOwn = Object.prototype.hasOwnProperty;
111625
111817
  function scopePlugin(fork3) {
111626
111818
  var types = fork3.use(types_1.default);
@@ -111882,7 +112074,7 @@ var require_node_path = __commonJS2({
111882
112074
  "use strict";
111883
112075
  Object.defineProperty(exports2, "__esModule", { value: true });
111884
112076
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
111885
- var types_1 = tslib_1.__importDefault(require_types4());
112077
+ var types_1 = tslib_1.__importDefault(require_types5());
111886
112078
  var path_1 = tslib_1.__importDefault(require_path4());
111887
112079
  var scope_1 = tslib_1.__importDefault(require_scope2());
111888
112080
  function nodePathPlugin(fork3) {
@@ -112237,7 +112429,7 @@ var require_path_visitor = __commonJS2({
112237
112429
  "use strict";
112238
112430
  Object.defineProperty(exports2, "__esModule", { value: true });
112239
112431
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
112240
- var types_1 = tslib_1.__importDefault(require_types4());
112432
+ var types_1 = tslib_1.__importDefault(require_types5());
112241
112433
  var node_path_1 = tslib_1.__importDefault(require_node_path());
112242
112434
  var hasOwn = Object.prototype.hasOwnProperty;
112243
112435
  function pathVisitorPlugin(fork3) {
@@ -112531,7 +112723,7 @@ var require_equiv = __commonJS2({
112531
112723
  "use strict";
112532
112724
  Object.defineProperty(exports2, "__esModule", { value: true });
112533
112725
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
112534
- var types_1 = tslib_1.__importDefault(require_types4());
112726
+ var types_1 = tslib_1.__importDefault(require_types5());
112535
112727
  function default_1(fork3) {
112536
112728
  var types = fork3.use(types_1.default);
112537
112729
  var getFieldNames = types.getFieldNames;
@@ -112682,7 +112874,7 @@ var require_fork = __commonJS2({
112682
112874
  "use strict";
112683
112875
  Object.defineProperty(exports2, "__esModule", { value: true });
112684
112876
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
112685
- var types_1 = tslib_1.__importDefault(require_types4());
112877
+ var types_1 = tslib_1.__importDefault(require_types5());
112686
112878
  var path_visitor_1 = tslib_1.__importDefault(require_path_visitor());
112687
112879
  var equiv_1 = tslib_1.__importDefault(require_equiv());
112688
112880
  var path_1 = tslib_1.__importDefault(require_path4());
@@ -112740,7 +112932,7 @@ var require_shared = __commonJS2({
112740
112932
  "use strict";
112741
112933
  Object.defineProperty(exports2, "__esModule", { value: true });
112742
112934
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
112743
- var types_1 = tslib_1.__importDefault(require_types4());
112935
+ var types_1 = tslib_1.__importDefault(require_types5());
112744
112936
  function default_1(fork3) {
112745
112937
  var types = fork3.use(types_1.default);
112746
112938
  var Type = types.Type;
@@ -112801,7 +112993,7 @@ var require_core3 = __commonJS2({
112801
112993
  "use strict";
112802
112994
  Object.defineProperty(exports2, "__esModule", { value: true });
112803
112995
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
112804
- var types_1 = tslib_1.__importDefault(require_types4());
112996
+ var types_1 = tslib_1.__importDefault(require_types5());
112805
112997
  var shared_1 = tslib_1.__importDefault(require_shared());
112806
112998
  function default_1(fork3) {
112807
112999
  var types = fork3.use(types_1.default);
@@ -112932,7 +113124,7 @@ var require_es6 = __commonJS2({
112932
113124
  Object.defineProperty(exports2, "__esModule", { value: true });
112933
113125
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
112934
113126
  var core_1 = tslib_1.__importDefault(require_core3());
112935
- var types_1 = tslib_1.__importDefault(require_types4());
113127
+ var types_1 = tslib_1.__importDefault(require_types5());
112936
113128
  var shared_1 = tslib_1.__importDefault(require_shared());
112937
113129
  function default_1(fork3) {
112938
113130
  fork3.use(core_1.default);
@@ -112997,7 +113189,7 @@ var require_es7 = __commonJS2({
112997
113189
  Object.defineProperty(exports2, "__esModule", { value: true });
112998
113190
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
112999
113191
  var es6_1 = tslib_1.__importDefault(require_es6());
113000
- var types_1 = tslib_1.__importDefault(require_types4());
113192
+ var types_1 = tslib_1.__importDefault(require_types5());
113001
113193
  var shared_1 = tslib_1.__importDefault(require_shared());
113002
113194
  function default_1(fork3) {
113003
113195
  fork3.use(es6_1.default);
@@ -113024,7 +113216,7 @@ var require_es2020 = __commonJS2({
113024
113216
  Object.defineProperty(exports2, "__esModule", { value: true });
113025
113217
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
113026
113218
  var es7_1 = tslib_1.__importDefault(require_es7());
113027
- var types_1 = tslib_1.__importDefault(require_types4());
113219
+ var types_1 = tslib_1.__importDefault(require_types5());
113028
113220
  function default_1(fork3) {
113029
113221
  fork3.use(es7_1.default);
113030
113222
  var types = fork3.use(types_1.default);
@@ -113043,7 +113235,7 @@ var require_jsx = __commonJS2({
113043
113235
  Object.defineProperty(exports2, "__esModule", { value: true });
113044
113236
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
113045
113237
  var es7_1 = tslib_1.__importDefault(require_es7());
113046
- var types_1 = tslib_1.__importDefault(require_types4());
113238
+ var types_1 = tslib_1.__importDefault(require_types5());
113047
113239
  var shared_1 = tslib_1.__importDefault(require_shared());
113048
113240
  function default_1(fork3) {
113049
113241
  fork3.use(es7_1.default);
@@ -113107,7 +113299,7 @@ var require_type_annotations = __commonJS2({
113107
113299
  "use strict";
113108
113300
  Object.defineProperty(exports2, "__esModule", { value: true });
113109
113301
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
113110
- var types_1 = tslib_1.__importDefault(require_types4());
113302
+ var types_1 = tslib_1.__importDefault(require_types5());
113111
113303
  var shared_1 = tslib_1.__importDefault(require_shared());
113112
113304
  function default_1(fork3) {
113113
113305
  var types = fork3.use(types_1.default);
@@ -113140,7 +113332,7 @@ var require_flow = __commonJS2({
113140
113332
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
113141
113333
  var es7_1 = tslib_1.__importDefault(require_es7());
113142
113334
  var type_annotations_1 = tslib_1.__importDefault(require_type_annotations());
113143
- var types_1 = tslib_1.__importDefault(require_types4());
113335
+ var types_1 = tslib_1.__importDefault(require_types5());
113144
113336
  var shared_1 = tslib_1.__importDefault(require_shared());
113145
113337
  function default_1(fork3) {
113146
113338
  fork3.use(es7_1.default);
@@ -113235,7 +113427,7 @@ var require_esprima2 = __commonJS2({
113235
113427
  Object.defineProperty(exports2, "__esModule", { value: true });
113236
113428
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
113237
113429
  var es7_1 = tslib_1.__importDefault(require_es7());
113238
- var types_1 = tslib_1.__importDefault(require_types4());
113430
+ var types_1 = tslib_1.__importDefault(require_types5());
113239
113431
  var shared_1 = tslib_1.__importDefault(require_shared());
113240
113432
  function default_1(fork3) {
113241
113433
  fork3.use(es7_1.default);
@@ -113293,7 +113485,7 @@ var require_babel_core = __commonJS2({
113293
113485
  "use strict";
113294
113486
  Object.defineProperty(exports2, "__esModule", { value: true });
113295
113487
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
113296
- var types_1 = tslib_1.__importDefault(require_types4());
113488
+ var types_1 = tslib_1.__importDefault(require_types5());
113297
113489
  var shared_1 = tslib_1.__importDefault(require_shared());
113298
113490
  var es7_1 = tslib_1.__importDefault(require_es7());
113299
113491
  function default_1(fork3) {
@@ -113436,7 +113628,7 @@ var require_typescript = __commonJS2({
113436
113628
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
113437
113629
  var babel_core_1 = tslib_1.__importDefault(require_babel_core());
113438
113630
  var type_annotations_1 = tslib_1.__importDefault(require_type_annotations());
113439
- var types_1 = tslib_1.__importDefault(require_types4());
113631
+ var types_1 = tslib_1.__importDefault(require_types5());
113440
113632
  var shared_1 = tslib_1.__importDefault(require_shared());
113441
113633
  function default_1(fork3) {
113442
113634
  fork3.use(babel_core_1.default);
@@ -113593,7 +113785,7 @@ var require_es_proposals = __commonJS2({
113593
113785
  "use strict";
113594
113786
  Object.defineProperty(exports2, "__esModule", { value: true });
113595
113787
  var tslib_1 = (init_tslib_es6(), __toCommonJS3(tslib_es6_exports));
113596
- var types_1 = tslib_1.__importDefault(require_types4());
113788
+ var types_1 = tslib_1.__importDefault(require_types5());
113597
113789
  var shared_1 = tslib_1.__importDefault(require_shared());
113598
113790
  var core_1 = tslib_1.__importDefault(require_core3());
113599
113791
  function default_1(fork3) {
@@ -115063,7 +115255,7 @@ var require_types_ffi = __commonJS2({
115063
115255
  });
115064
115256
 
115065
115257
  // ../../node_modules/.pnpm/@tootallnate+quickjs-emscripten@0.23.0/node_modules/@tootallnate/quickjs-emscripten/dist/types.js
115066
- var require_types5 = __commonJS2({
115258
+ var require_types6 = __commonJS2({
115067
115259
  "../../node_modules/.pnpm/@tootallnate+quickjs-emscripten@0.23.0/node_modules/@tootallnate/quickjs-emscripten/dist/types.js"(exports2) {
115068
115260
  "use strict";
115069
115261
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -115119,7 +115311,7 @@ var require_context2 = __commonJS2({
115119
115311
  var errors_1 = require_errors3();
115120
115312
  var lifetime_1 = require_lifetime();
115121
115313
  var memory_1 = require_memory();
115122
- var types_1 = require_types5();
115314
+ var types_1 = require_types6();
115123
115315
  var ContextMemory = class extends memory_1.ModuleMemory {
115124
115316
  /** @private */
115125
115317
  constructor(args2) {
@@ -115720,7 +115912,7 @@ var require_runtime = __commonJS2({
115720
115912
  var errors_1 = require_errors3();
115721
115913
  var lifetime_1 = require_lifetime();
115722
115914
  var memory_1 = require_memory();
115723
- var types_1 = require_types5();
115915
+ var types_1 = require_types6();
115724
115916
  var QuickJSRuntime = class {
115725
115917
  /** @private */
115726
115918
  constructor(args2) {
@@ -115988,7 +116180,7 @@ var require_module2 = __commonJS2({
115988
116180
  var errors_1 = require_errors3();
115989
116181
  var lifetime_1 = require_lifetime();
115990
116182
  var runtime_1 = require_runtime();
115991
- var types_1 = require_types5();
116183
+ var types_1 = require_types6();
115992
116184
  var QuickJSEmscriptenModuleCallbacks = class {
115993
116185
  constructor(args2) {
115994
116186
  this.callFunction = args2.callFunction;
@@ -116250,7 +116442,7 @@ var require_context_asyncify = __commonJS2({
116250
116442
  exports2.QuickJSAsyncContext = void 0;
116251
116443
  var context_1 = require_context2();
116252
116444
  var debug_1 = require_debug3();
116253
- var types_1 = require_types5();
116445
+ var types_1 = require_types6();
116254
116446
  var QuickJSAsyncContext = class extends context_1.QuickJSContext {
116255
116447
  /**
116256
116448
  * Asyncified version of [[evalCode]].
@@ -116302,7 +116494,7 @@ var require_runtime_asyncify = __commonJS2({
116302
116494
  var _1 = require_dist14();
116303
116495
  var context_asyncify_1 = require_context_asyncify();
116304
116496
  var runtime_1 = require_runtime();
116305
- var types_1 = require_types5();
116497
+ var types_1 = require_types6();
116306
116498
  var QuickJSAsyncRuntime = class extends runtime_1.QuickJSRuntime {
116307
116499
  /** @private */
116308
116500
  constructor(args2) {
@@ -136533,7 +136725,7 @@ var require_schemas = __commonJS2({
136533
136725
  });
136534
136726
 
136535
136727
  // ../routing-utils/dist/types.js
136536
- var require_types6 = __commonJS2({
136728
+ var require_types7 = __commonJS2({
136537
136729
  "../routing-utils/dist/types.js"(exports2, module2) {
136538
136730
  "use strict";
136539
136731
  var __defProp4 = Object.defineProperty;
@@ -136594,7 +136786,7 @@ var require_dist23 = __commonJS2({
136594
136786
  var import_merge2 = require_merge4();
136595
136787
  __reExport(src_exports2, require_schemas(), module2.exports);
136596
136788
  var import_superstatic2 = require_superstatic();
136597
- __reExport(src_exports2, require_types6(), module2.exports);
136789
+ __reExport(src_exports2, require_types7(), module2.exports);
136598
136790
  var VALID_HANDLE_VALUES = [
136599
136791
  "filesystem",
136600
136792
  "hit",
@@ -149054,9 +149246,27 @@ function validateConfig(config2) {
149054
149246
  link: "https://vercel.link/functions-and-builds"
149055
149247
  });
149056
149248
  }
149249
+ if (config2.experimentalServices && config2.builds) {
149250
+ return new NowBuildError4({
149251
+ code: "SERVICES_AND_BUILDS",
149252
+ message: "The `experimentalServices` property cannot be used in conjunction with the `builds` property. Please remove one of them."
149253
+ });
149254
+ }
149255
+ if (config2.experimentalServices && config2.functions) {
149256
+ return new NowBuildError4({
149257
+ code: "SERVICES_AND_FUNCTIONS",
149258
+ message: "The `experimentalServices` property cannot be used in conjunction with the `functions` property. Please remove one of them."
149259
+ });
149260
+ }
149261
+ if (config2.experimentalServiceGroups && !config2.experimentalServices) {
149262
+ return new NowBuildError4({
149263
+ code: "SERVICE_GROUPS_WITHOUT_SERVICES",
149264
+ message: "The `experimentalServiceGroups` property requires `experimentalServices` to be defined. Service groups reference services by name."
149265
+ });
149266
+ }
149057
149267
  return null;
149058
149268
  }
149059
- var import_ajv2, import_routing_utils, import_client5, imagesSchema, cronsSchema, customErrorPageSchema, vercelConfigSchema, ajv, validate;
149269
+ var import_ajv2, import_routing_utils, import_client5, imagesSchema, cronsSchema, customErrorPageSchema, serviceConfigSchema, experimentalServicesSchema, experimentalServiceGroupsSchema, vercelConfigSchema, ajv, validate;
149060
149270
  var init_validate_config = __esm({
149061
149271
  "src/util/validate-config.ts"() {
149062
149272
  "use strict";
@@ -149220,6 +149430,115 @@ var init_validate_config = __esm({
149220
149430
  }
149221
149431
  ]
149222
149432
  };
149433
+ serviceConfigSchema = {
149434
+ type: "object",
149435
+ additionalProperties: false,
149436
+ properties: {
149437
+ type: {
149438
+ enum: ["web", "cron", "worker"]
149439
+ },
149440
+ entrypoint: {
149441
+ type: "string",
149442
+ minLength: 1,
149443
+ maxLength: 512
149444
+ },
149445
+ workspace: {
149446
+ type: "string",
149447
+ minLength: 1,
149448
+ maxLength: 512
149449
+ },
149450
+ routePrefix: {
149451
+ type: "string",
149452
+ minLength: 1,
149453
+ maxLength: 512
149454
+ },
149455
+ framework: {
149456
+ type: "string",
149457
+ minLength: 1,
149458
+ maxLength: 256
149459
+ },
149460
+ builder: {
149461
+ type: "string",
149462
+ minLength: 1,
149463
+ maxLength: 256
149464
+ },
149465
+ runtime: {
149466
+ type: "string",
149467
+ minLength: 1,
149468
+ maxLength: 256
149469
+ },
149470
+ buildCommand: {
149471
+ type: "string",
149472
+ minLength: 1,
149473
+ maxLength: 2048
149474
+ },
149475
+ installCommand: {
149476
+ type: "string",
149477
+ minLength: 1,
149478
+ maxLength: 2048
149479
+ },
149480
+ memory: {
149481
+ type: "integer",
149482
+ minimum: 128,
149483
+ maximum: 10240
149484
+ },
149485
+ maxDuration: {
149486
+ type: "integer",
149487
+ minimum: 1,
149488
+ maximum: 900
149489
+ },
149490
+ includeFiles: {
149491
+ oneOf: [
149492
+ { type: "string", minLength: 1 },
149493
+ {
149494
+ type: "array",
149495
+ items: { type: "string", minLength: 1 }
149496
+ }
149497
+ ]
149498
+ },
149499
+ excludeFiles: {
149500
+ oneOf: [
149501
+ { type: "string", minLength: 1 },
149502
+ {
149503
+ type: "array",
149504
+ items: { type: "string", minLength: 1 }
149505
+ }
149506
+ ]
149507
+ },
149508
+ // Cron-specific
149509
+ schedule: {
149510
+ type: "string",
149511
+ minLength: 9,
149512
+ maxLength: 256
149513
+ },
149514
+ // Worker-specific
149515
+ topic: {
149516
+ type: "string",
149517
+ minLength: 1,
149518
+ maxLength: 256
149519
+ },
149520
+ consumer: {
149521
+ type: "string",
149522
+ minLength: 1,
149523
+ maxLength: 256
149524
+ }
149525
+ }
149526
+ };
149527
+ experimentalServicesSchema = {
149528
+ type: "object",
149529
+ additionalProperties: serviceConfigSchema
149530
+ };
149531
+ experimentalServiceGroupsSchema = {
149532
+ type: "object",
149533
+ additionalProperties: {
149534
+ type: "array",
149535
+ items: {
149536
+ type: "string",
149537
+ minLength: 1,
149538
+ maxLength: 256
149539
+ }
149540
+ }
149541
+ };
149223
149542
  vercelConfigSchema = {
149224
149543
  type: "object",
149225
149544
  // These are not all possibilities because `vc dev`
@@ -149237,7 +149556,9 @@ var init_validate_config = __esm({
149237
149556
  images: imagesSchema,
149238
149557
  crons: cronsSchema,
149239
149558
  customErrorPage: customErrorPageSchema,
149240
- bunVersion: { type: "string" }
149559
+ bunVersion: { type: "string" },
149560
+ experimentalServices: experimentalServicesSchema,
149561
+ experimentalServiceGroups: experimentalServiceGroupsSchema
149241
149562
  }
149242
149563
  };
149243
149564
  ajv = new import_ajv2.default();
@@ -172167,7 +172488,8 @@ import {
172167
172488
  FileBlob,
172168
172489
  FileFsRef as FileFsRef3,
172169
172490
  normalizePath as normalizePath5,
172170
- isBackendFramework
172491
+ isBackendFramework,
172492
+ isPythonFramework
172171
172493
  } from "@vercel/build-utils";
172172
172494
  async function createBuildProcess(match, envConfigs, workPath) {
172173
172495
  output_manager_default.debug(`Creating build process for "${match.entrypoint}"`);
@@ -172441,22 +172763,15 @@ async function getBuildMatches(vercelConfig, cwd, devServer, fileList) {
172441
172763
  if (isBackendFramework(buildConfig.config?.framework)) {
172442
172764
  src = "package.json";
172443
172765
  }
172444
- if (buildConfig.config?.framework === "fastapi" || buildConfig.config?.framework === "flask") {
172445
- const candidateDirs = ["", "src", "app", "api"];
172446
- const candidateNames = ["app", "index", "server", "main"];
172447
- const candidates = [];
172448
- for (const name of candidateNames) {
172449
- for (const dir of candidateDirs) {
172450
- candidates.push(dir ? `${dir}/${name}.py` : `${name}.py`);
172451
- }
172452
- }
172453
- if (!fileList.includes(src)) {
172454
- const existing = candidates.filter((p) => fileList.includes(p));
172455
- if (existing.length > 0) {
172456
- src = existing[0];
172457
- } else if (fileList.includes("pyproject.toml")) {
172458
- src = "pyproject.toml";
172459
- }
172766
+ if (buildConfig.config?.framework && isPythonFramework(buildConfig.config?.framework)) {
172767
+ const pythonManifestFiles = [
172768
+ "pyproject.toml",
172769
+ "requirements.txt",
172770
+ "Pipfile"
172771
+ ];
172772
+ const existing = pythonManifestFiles.filter((p) => fileList.includes(p));
172773
+ if (existing.length > 0) {
172774
+ src = existing[0];
172460
172775
  }
172461
172776
  }
172462
172777
  const mapToEntrypoint = /* @__PURE__ */ new Map();
@@ -191664,7 +191979,9 @@ var import_node_fetch3 = __toESM3(require_lib7(), 1);
191664
191979
  var import_node_utils = __toESM3(require_dist20(), 1);
191665
191980
  init_output_manager();
191666
191981
  import { createServer } from "http";
191667
- var toHeaders = (0, import_node_utils.buildToHeaders)({ Headers: import_node_fetch3.Headers });
191982
+ var toHeaders = (0, import_node_utils.buildToHeaders)({
191983
+ Headers: import_node_fetch3.Headers
191984
+ });
191668
191985
  function createProxy(client2) {
191669
191986
  return createServer(async (req, res) => {
191670
191987
  try {
@@ -191678,7 +191995,9 @@ function createProxy(client2) {
191678
191995
  json: false
191679
191996
  });
191680
191997
  res.statusCode = fetchRes.status;
191681
- const outgoingHeaders = (0, import_node_utils.toOutgoingHeaders)(fetchRes.headers);
191998
+ const outgoingHeaders = (0, import_node_utils.toOutgoingHeaders)(
191999
+ fetchRes.headers
192000
+ );
191682
192001
  delete outgoingHeaders["content-encoding"];
191683
192002
  delete outgoingHeaders["content-length"];
191684
192003
  (0, import_node_utils.mergeIntoServerResponse)(outgoingHeaders, res);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "50.4.7",
3
+ "version": "50.4.9",
4
4
  "type": "module",
5
5
  "preferGlobal": true,
6
6
  "license": "Apache-2.0",
@@ -28,26 +28,26 @@
28
28
  "esbuild": "0.27.0",
29
29
  "form-data": "^4.0.0",
30
30
  "jose": "5.9.6",
31
- "@vercel/backends": "0.0.22",
32
- "@vercel/build-utils": "13.2.12",
31
+ "@vercel/backends": "0.0.23",
32
+ "@vercel/build-utils": "13.2.14",
33
33
  "@vercel/detect-agent": "1.0.0",
34
- "@vercel/elysia": "0.1.23",
35
- "@vercel/express": "0.1.30",
36
- "@vercel/fastify": "0.1.26",
37
- "@vercel/go": "3.3.3",
38
- "@vercel/h3": "0.1.32",
39
- "@vercel/hono": "0.2.26",
34
+ "@vercel/elysia": "0.1.25",
35
+ "@vercel/express": "0.1.32",
36
+ "@vercel/fastify": "0.1.28",
37
+ "@vercel/go": "3.3.4",
38
+ "@vercel/h3": "0.1.34",
39
+ "@vercel/hono": "0.2.28",
40
40
  "@vercel/hydrogen": "1.3.5",
41
- "@vercel/koa": "0.1.6",
42
- "@vercel/nestjs": "0.2.27",
43
- "@vercel/next": "4.15.15",
44
- "@vercel/node": "5.5.24",
45
- "@vercel/python": "6.2.0",
41
+ "@vercel/koa": "0.1.8",
42
+ "@vercel/nestjs": "0.2.29",
43
+ "@vercel/node": "5.5.26",
44
+ "@vercel/python": "6.3.0",
46
45
  "@vercel/redwood": "2.4.9",
46
+ "@vercel/next": "4.15.15",
47
47
  "@vercel/remix-builder": "5.5.9",
48
48
  "@vercel/ruby": "2.2.4",
49
49
  "@vercel/rust": "1.0.4",
50
- "@vercel/static-build": "2.8.24"
50
+ "@vercel/static-build": "2.8.26"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@alex_neo/jest-expect-message": "1.0.5",
@@ -79,7 +79,7 @@
79
79
  "@types/minimatch": "3.0.3",
80
80
  "@types/mock-fs": "4.13.4",
81
81
  "@types/ms": "0.7.30",
82
- "@types/node": "18.0.0",
82
+ "@types/node": "20.11.0",
83
83
  "@types/node-fetch": "2.5.10",
84
84
  "@types/npm-package-arg": "6.1.0",
85
85
  "@types/pluralize": "0.0.29",
@@ -171,14 +171,14 @@
171
171
  "write-json-file": "2.2.0",
172
172
  "xdg-app-paths": "5.1.0",
173
173
  "yauzl-promise": "2.1.3",
174
- "@vercel-internals/types": "3.0.6",
174
+ "@vercel-internals/constants": "1.0.4",
175
175
  "@vercel-internals/get-package-json": "1.0.0",
176
- "@vercel/client": "17.2.26",
176
+ "@vercel-internals/types": "3.0.6",
177
+ "@vercel/client": "17.2.28",
177
178
  "@vercel/error-utils": "2.0.3",
178
- "@vercel/frameworks": "3.15.6",
179
- "@vercel/routing-utils": "5.3.2",
180
- "@vercel/fs-detectors": "5.7.14",
181
- "@vercel-internals/constants": "1.0.4"
179
+ "@vercel/frameworks": "3.15.7",
180
+ "@vercel/fs-detectors": "5.7.16",
181
+ "@vercel/routing-utils": "5.3.2"
182
182
  },
183
183
  "scripts": {
184
184
  "test": "jest --reporters=default --reporters=jest-junit --env node --verbose --bail",