@vercel/build-utils 13.18.0 → 13.19.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @vercel/build-utils
2
2
 
3
+ ## 13.19.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [build-utils] simplify streaming lambda check ([#15795](https://github.com/vercel/vercel/pull/15795))
8
+
9
+ ## 13.19.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [services] move Python workers to v2beta triggers with private routing ([#15920](https://github.com/vercel/vercel/pull/15920))
14
+
15
+ ### Patch Changes
16
+
17
+ - Added a shared build result validation helper in `@vercel/build-utils` for existing callers. ([#16030](https://github.com/vercel/vercel/pull/16030))
18
+
3
19
  ## 13.18.0
4
20
 
5
21
  ### Minor Changes
@@ -0,0 +1,21 @@
1
+ import type { BuildResultV2Typical, BuildResultV3, BuilderFunctions, Config } from '../types';
2
+ export declare const SUPPORTED_AL2023_RUNTIMES: readonly ["nodejs20.x", "nodejs22.x", "nodejs24.x", "provided.al2023", "python3.12", "python3.13", "python3.14", "ruby3.3", "bun1.x", "executable"];
3
+ type BuildConfigWithVercelConfig = Config & {
4
+ vercelConfig?: {
5
+ functions?: BuilderFunctions;
6
+ };
7
+ };
8
+ export interface ValidateBuildResultParams {
9
+ allowInvalidRuntime?: boolean;
10
+ buildConfig?: BuildConfigWithVercelConfig;
11
+ buildResponse: BuildResultV2Typical | BuildResultV3;
12
+ osRelease?: OsRelease | null;
13
+ vercelBaseUrl?: string;
14
+ }
15
+ export interface ValidateBuildResultResult {
16
+ buildOutputMap: BuildResultV2Typical['output'];
17
+ customFunctionConfiguration?: BuilderFunctions[string];
18
+ }
19
+ type OsRelease = Record<string, string>;
20
+ export declare function validateBuildResult({ allowInvalidRuntime, buildConfig, buildResponse, osRelease, vercelBaseUrl, }: ValidateBuildResultParams): Promise<ValidateBuildResultResult>;
21
+ export {};
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var validate_build_result_exports = {};
30
+ __export(validate_build_result_exports, {
31
+ SUPPORTED_AL2023_RUNTIMES: () => SUPPORTED_AL2023_RUNTIMES,
32
+ validateBuildResult: () => validateBuildResult
33
+ });
34
+ module.exports = __toCommonJS(validate_build_result_exports);
35
+ var import_minimatch = __toESM(require("minimatch"));
36
+ var import_errors = require("../errors");
37
+ const SUPPORTED_AL2023_RUNTIMES = [
38
+ "nodejs20.x",
39
+ "nodejs22.x",
40
+ "nodejs24.x",
41
+ "provided.al2023",
42
+ "python3.12",
43
+ "python3.13",
44
+ "python3.14",
45
+ "ruby3.3",
46
+ "bun1.x",
47
+ "executable"
48
+ ];
49
+ const DEFAULT_ENTRYPOINT = ".";
50
+ const DEVELOPING_A_RUNTIME_URL = "https://github.com/vercel/vercel/blob/master/DEVELOPING_A_RUNTIME.md";
51
+ function isSupportedAl2023Runtime(runtime) {
52
+ return SUPPORTED_AL2023_RUNTIMES.some((supported) => supported === runtime);
53
+ }
54
+ async function validateBuildResult({
55
+ allowInvalidRuntime = false,
56
+ buildConfig,
57
+ buildResponse,
58
+ osRelease,
59
+ vercelBaseUrl
60
+ }) {
61
+ if (!("output" in buildResponse)) {
62
+ throw new import_errors.NowBuildError({
63
+ code: "NOW_SANDBOX_WORKER_BUILDER_ERROR",
64
+ message: 'The result of "builder.build" must include an `output` property for "@vercel/vc-build".'
65
+ });
66
+ }
67
+ if (!buildResponse.output || typeof buildResponse.output !== "object") {
68
+ throw new import_errors.NowBuildError({
69
+ code: "NOW_SANDBOX_WORKER_BUILDER_ERROR",
70
+ message: 'The result of "builder.build" must be an object'
71
+ });
72
+ }
73
+ const buildOutputMap = getAndVerifyOutputLambdasOrEdgeFuncs(buildResponse);
74
+ if (osRelease?.VERSION === "2023") {
75
+ const invalidRuntimes = [];
76
+ for (const [name, entry] of Object.entries(buildOutputMap)) {
77
+ let lambda;
78
+ if (entry.type === "Prerender") {
79
+ lambda = entry.lambda;
80
+ } else if (entry.type === "Lambda") {
81
+ lambda = entry;
82
+ }
83
+ if (!lambda)
84
+ continue;
85
+ if (!isSupportedAl2023Runtime(lambda.runtime)) {
86
+ invalidRuntimes.push({ name, lambda });
87
+ }
88
+ }
89
+ if (invalidRuntimes.length > 0 && !allowInvalidRuntime) {
90
+ throw new import_errors.NowBuildError({
91
+ code: "NOW_SANDBOX_WORKER_INVALID_RUNTIME",
92
+ message: `The following Serverless Functions contain an invalid "runtime":
93
+ ${invalidRuntimes.map(({ name, lambda }) => ` - ${name} (${lambda.runtime})`).join("\n")}`,
94
+ link: getVercelUrl(
95
+ "/docs/functions/runtimes#official-runtimes",
96
+ vercelBaseUrl
97
+ )
98
+ });
99
+ }
100
+ }
101
+ const customFunctionConfiguration = getCustomFunctionConfigMaybe(buildConfig);
102
+ if (customFunctionConfiguration?.runtime) {
103
+ throw new import_errors.NowBuildError({
104
+ code: "NOW_SANDBOX_WORKER_FUNCTION_RUNTIME_VERSION",
105
+ message: `The Community Runtime ${customFunctionConfiguration.runtime} is not using version 3 of the Runtime API. If you are the Runtime author, see the docs by clicking "View Details" above.`,
106
+ link: DEVELOPING_A_RUNTIME_URL
107
+ });
108
+ }
109
+ return {
110
+ buildOutputMap,
111
+ customFunctionConfiguration
112
+ };
113
+ }
114
+ function getCustomFunctionConfigMaybe(buildConfig) {
115
+ const functions = buildConfig?.functions ?? buildConfig?.vercelConfig?.functions;
116
+ if (!functions) {
117
+ return;
118
+ }
119
+ for (const [funcPath, config] of Object.entries(functions)) {
120
+ if (funcPath === DEFAULT_ENTRYPOINT || (0, import_minimatch.default)(DEFAULT_ENTRYPOINT, funcPath)) {
121
+ return config;
122
+ }
123
+ }
124
+ return void 0;
125
+ }
126
+ function getVercelUrl(path, vercelBaseUrl = "https://vercel.com") {
127
+ const url = new URL(path, vercelBaseUrl);
128
+ if (url.pathname === "/") {
129
+ return url.href.slice(0, -1);
130
+ }
131
+ return url.href;
132
+ }
133
+ function getAndVerifyOutputLambdasOrEdgeFuncs(buildResponse) {
134
+ return buildResponse.output;
135
+ }
136
+ // Annotate the CommonJS export names for ESM import in node:
137
+ 0 && (module.exports = {
138
+ SUPPORTED_AL2023_RUNTIMES,
139
+ validateBuildResult
140
+ });
package/dist/index.d.ts CHANGED
@@ -45,6 +45,7 @@ export { getLambdaPreloadScripts, type BytecodeCachingOptions, } from './process
45
45
  export { getLambdaSupportsStreaming, type SupportsStreamingResult, } from './process-serverless/get-lambda-supports-streaming';
46
46
  export { streamToDigestAsync, sha256, md5, type FileDigest, } from './fs/stream-to-digest-async';
47
47
  export { getBuildResultMetadata, type BuildResultMetadata, } from './collect-build-result/get-build-result-metadata';
48
+ export { validateBuildResult, SUPPORTED_AL2023_RUNTIMES, type ValidateBuildResultParams, type ValidateBuildResultResult, } from './collect-build-result/validate-build-result';
48
49
  export { getLambdaByOutputPath } from './collect-build-result/get-lambda-by-output-path';
49
50
  export { isRouteMiddleware } from './collect-build-result/is-route-middleware';
50
51
  export { getPrerenderChain } from './collect-build-result/get-prerender-chain';
package/dist/index.js CHANGED
@@ -7695,10 +7695,10 @@ var require_lib3 = __commonJS({
7695
7695
  * @return Void
7696
7696
  */
7697
7697
  constructor() {
7698
- let init3 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0;
7698
+ let init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0;
7699
7699
  this[MAP] = /* @__PURE__ */ Object.create(null);
7700
- if (init3 instanceof _Headers) {
7701
- const rawHeaders = init3.raw();
7700
+ if (init instanceof _Headers) {
7701
+ const rawHeaders = init.raw();
7702
7702
  const headerNames = Object.keys(rawHeaders);
7703
7703
  for (const headerName of headerNames) {
7704
7704
  for (const value of rawHeaders[headerName]) {
@@ -7707,16 +7707,16 @@ var require_lib3 = __commonJS({
7707
7707
  }
7708
7708
  return;
7709
7709
  }
7710
- if (init3 == null)
7710
+ if (init == null)
7711
7711
  ;
7712
- else if (typeof init3 === "object") {
7713
- const method = init3[Symbol.iterator];
7712
+ else if (typeof init === "object") {
7713
+ const method = init[Symbol.iterator];
7714
7714
  if (method != null) {
7715
7715
  if (typeof method !== "function") {
7716
7716
  throw new TypeError("Header pairs must be iterable");
7717
7717
  }
7718
7718
  const pairs = [];
7719
- for (const pair of init3) {
7719
+ for (const pair of init) {
7720
7720
  if (typeof pair !== "object" || typeof pair[Symbol.iterator] !== "function") {
7721
7721
  throw new TypeError("Each header pair must be iterable");
7722
7722
  }
@@ -7729,8 +7729,8 @@ var require_lib3 = __commonJS({
7729
7729
  this.append(pair[0], pair[1]);
7730
7730
  }
7731
7731
  } else {
7732
- for (const key of Object.keys(init3)) {
7733
- const value = init3[key];
7732
+ for (const key of Object.keys(init)) {
7733
+ const value = init[key];
7734
7734
  this.append(key, value);
7735
7735
  }
7736
7736
  }
@@ -8060,7 +8060,7 @@ var require_lib3 = __commonJS({
8060
8060
  }
8061
8061
  var Request = class _Request {
8062
8062
  constructor(input) {
8063
- let init3 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
8063
+ let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
8064
8064
  let parsedURL;
8065
8065
  if (!isRequest(input)) {
8066
8066
  if (input && input.href) {
@@ -8072,17 +8072,17 @@ var require_lib3 = __commonJS({
8072
8072
  } else {
8073
8073
  parsedURL = parseURL(input.url);
8074
8074
  }
8075
- let method = init3.method || input.method || "GET";
8075
+ let method = init.method || input.method || "GET";
8076
8076
  method = method.toUpperCase();
8077
- if ((init3.body != null || isRequest(input) && input.body !== null) && (method === "GET" || method === "HEAD")) {
8077
+ if ((init.body != null || isRequest(input) && input.body !== null) && (method === "GET" || method === "HEAD")) {
8078
8078
  throw new TypeError("Request with GET/HEAD method cannot have body");
8079
8079
  }
8080
- let inputBody = init3.body != null ? init3.body : isRequest(input) && input.body !== null ? clone(input) : null;
8080
+ let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;
8081
8081
  Body.call(this, inputBody, {
8082
- timeout: init3.timeout || input.timeout || 0,
8083
- size: init3.size || input.size || 0
8082
+ timeout: init.timeout || input.timeout || 0,
8083
+ size: init.size || input.size || 0
8084
8084
  });
8085
- const headers = new Headers(init3.headers || input.headers || {});
8085
+ const headers = new Headers(init.headers || input.headers || {});
8086
8086
  if (inputBody != null && !headers.has("Content-Type")) {
8087
8087
  const contentType = extractContentType(inputBody);
8088
8088
  if (contentType) {
@@ -8090,22 +8090,22 @@ var require_lib3 = __commonJS({
8090
8090
  }
8091
8091
  }
8092
8092
  let signal = isRequest(input) ? input.signal : null;
8093
- if ("signal" in init3)
8094
- signal = init3.signal;
8093
+ if ("signal" in init)
8094
+ signal = init.signal;
8095
8095
  if (signal != null && !isAbortSignal(signal)) {
8096
8096
  throw new TypeError("Expected signal to be an instanceof AbortSignal");
8097
8097
  }
8098
8098
  this[INTERNALS$2] = {
8099
8099
  method,
8100
- redirect: init3.redirect || input.redirect || "follow",
8100
+ redirect: init.redirect || input.redirect || "follow",
8101
8101
  headers,
8102
8102
  parsedURL,
8103
8103
  signal
8104
8104
  };
8105
- this.follow = init3.follow !== void 0 ? init3.follow : input.follow !== void 0 ? input.follow : 20;
8106
- this.compress = init3.compress !== void 0 ? init3.compress : input.compress !== void 0 ? input.compress : true;
8107
- this.counter = init3.counter || input.counter || 0;
8108
- this.agent = init3.agent || input.agent;
8105
+ this.follow = init.follow !== void 0 ? init.follow : input.follow !== void 0 ? input.follow : 20;
8106
+ this.compress = init.compress !== void 0 ? init.compress : input.compress !== void 0 ? input.compress : true;
8107
+ this.counter = init.counter || input.counter || 0;
8108
+ this.agent = init.agent || input.agent;
8109
8109
  }
8110
8110
  get method() {
8111
8111
  return this[INTERNALS$2].method;
@@ -9826,8 +9826,8 @@ var require_brace_expansion = __commonJS({
9826
9826
  // ../../node_modules/.pnpm/minimatch@3.1.2/node_modules/minimatch/minimatch.js
9827
9827
  var require_minimatch = __commonJS({
9828
9828
  "../../node_modules/.pnpm/minimatch@3.1.2/node_modules/minimatch/minimatch.js"(exports, module2) {
9829
- module2.exports = minimatch2;
9830
- minimatch2.Minimatch = Minimatch;
9829
+ module2.exports = minimatch3;
9830
+ minimatch3.Minimatch = Minimatch;
9831
9831
  var path7 = function() {
9832
9832
  try {
9833
9833
  return require("path");
@@ -9836,8 +9836,8 @@ var require_minimatch = __commonJS({
9836
9836
  }() || {
9837
9837
  sep: "/"
9838
9838
  };
9839
- minimatch2.sep = path7.sep;
9840
- var GLOBSTAR = minimatch2.GLOBSTAR = Minimatch.GLOBSTAR = {};
9839
+ minimatch3.sep = path7.sep;
9840
+ var GLOBSTAR = minimatch3.GLOBSTAR = Minimatch.GLOBSTAR = {};
9841
9841
  var expand = require_brace_expansion();
9842
9842
  var plTypes = {
9843
9843
  "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
@@ -9858,11 +9858,11 @@ var require_minimatch = __commonJS({
9858
9858
  }, {});
9859
9859
  }
9860
9860
  var slashSplit = /\/+/;
9861
- minimatch2.filter = filter;
9861
+ minimatch3.filter = filter;
9862
9862
  function filter(pattern, options) {
9863
9863
  options = options || {};
9864
9864
  return function(p, i, list) {
9865
- return minimatch2(p, pattern, options);
9865
+ return minimatch3(p, pattern, options);
9866
9866
  };
9867
9867
  }
9868
9868
  function ext(a, b) {
@@ -9876,12 +9876,12 @@ var require_minimatch = __commonJS({
9876
9876
  });
9877
9877
  return t;
9878
9878
  }
9879
- minimatch2.defaults = function(def) {
9879
+ minimatch3.defaults = function(def) {
9880
9880
  if (!def || typeof def !== "object" || !Object.keys(def).length) {
9881
- return minimatch2;
9881
+ return minimatch3;
9882
9882
  }
9883
- var orig = minimatch2;
9884
- var m = function minimatch3(p, pattern, options) {
9883
+ var orig = minimatch3;
9884
+ var m = function minimatch4(p, pattern, options) {
9885
9885
  return orig(p, pattern, ext(def, options));
9886
9886
  };
9887
9887
  m.Minimatch = function Minimatch2(pattern, options) {
@@ -9908,9 +9908,9 @@ var require_minimatch = __commonJS({
9908
9908
  return m;
9909
9909
  };
9910
9910
  Minimatch.defaults = function(def) {
9911
- return minimatch2.defaults(def).Minimatch;
9911
+ return minimatch3.defaults(def).Minimatch;
9912
9912
  };
9913
- function minimatch2(p, pattern, options) {
9913
+ function minimatch3(p, pattern, options) {
9914
9914
  assertValidPattern(pattern);
9915
9915
  if (!options)
9916
9916
  options = {};
@@ -9991,7 +9991,7 @@ var require_minimatch = __commonJS({
9991
9991
  this.pattern = pattern.substr(negateOffset);
9992
9992
  this.negate = negate;
9993
9993
  }
9994
- minimatch2.braceExpand = function(pattern, options) {
9994
+ minimatch3.braceExpand = function(pattern, options) {
9995
9995
  return braceExpand(pattern, options);
9996
9996
  };
9997
9997
  Minimatch.prototype.braceExpand = braceExpand;
@@ -10019,9 +10019,9 @@ var require_minimatch = __commonJS({
10019
10019
  throw new TypeError("pattern is too long");
10020
10020
  }
10021
10021
  };
10022
- Minimatch.prototype.parse = parse6;
10022
+ Minimatch.prototype.parse = parse4;
10023
10023
  var SUBPARSE = {};
10024
- function parse6(pattern, isSub) {
10024
+ function parse4(pattern, isSub) {
10025
10025
  assertValidPattern(pattern);
10026
10026
  var options = this.options;
10027
10027
  if (pattern === "**") {
@@ -10253,7 +10253,7 @@ var require_minimatch = __commonJS({
10253
10253
  regExp._src = re;
10254
10254
  return regExp;
10255
10255
  }
10256
- minimatch2.makeRe = function(pattern, options) {
10256
+ minimatch3.makeRe = function(pattern, options) {
10257
10257
  return new Minimatch(pattern, options || {}).makeRe();
10258
10258
  };
10259
10259
  Minimatch.prototype.makeRe = makeRe;
@@ -10283,7 +10283,7 @@ var require_minimatch = __commonJS({
10283
10283
  }
10284
10284
  return this.regexp;
10285
10285
  }
10286
- minimatch2.match = function(list, pattern, options) {
10286
+ minimatch3.match = function(list, pattern, options) {
10287
10287
  options = options || {};
10288
10288
  var mm = new Minimatch(pattern, options);
10289
10289
  list = list.filter(function(f) {
@@ -11010,18 +11010,18 @@ var require_brace_expansion2 = __commonJS({
11010
11010
  // ../../node_modules/.pnpm/minimatch@5.0.1/node_modules/minimatch/minimatch.js
11011
11011
  var require_minimatch2 = __commonJS({
11012
11012
  "../../node_modules/.pnpm/minimatch@5.0.1/node_modules/minimatch/minimatch.js"(exports, module2) {
11013
- var minimatch2 = module2.exports = (p, pattern, options = {}) => {
11013
+ var minimatch3 = module2.exports = (p, pattern, options = {}) => {
11014
11014
  assertValidPattern(pattern);
11015
11015
  if (!options.nocomment && pattern.charAt(0) === "#") {
11016
11016
  return false;
11017
11017
  }
11018
11018
  return new Minimatch(pattern, options).match(p);
11019
11019
  };
11020
- module2.exports = minimatch2;
11020
+ module2.exports = minimatch3;
11021
11021
  var path7 = require_path();
11022
- minimatch2.sep = path7.sep;
11022
+ minimatch3.sep = path7.sep;
11023
11023
  var GLOBSTAR = Symbol("globstar **");
11024
- minimatch2.GLOBSTAR = GLOBSTAR;
11024
+ minimatch3.GLOBSTAR = GLOBSTAR;
11025
11025
  var expand = require_brace_expansion2();
11026
11026
  var plTypes = {
11027
11027
  "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
@@ -11041,18 +11041,18 @@ var require_minimatch2 = __commonJS({
11041
11041
  var reSpecials = charSet("().*{}+?[]^$\\!");
11042
11042
  var addPatternStartSet = charSet("[.(");
11043
11043
  var slashSplit = /\/+/;
11044
- minimatch2.filter = (pattern, options = {}) => (p, i, list) => minimatch2(p, pattern, options);
11044
+ minimatch3.filter = (pattern, options = {}) => (p, i, list) => minimatch3(p, pattern, options);
11045
11045
  var ext = (a, b = {}) => {
11046
11046
  const t = {};
11047
11047
  Object.keys(a).forEach((k) => t[k] = a[k]);
11048
11048
  Object.keys(b).forEach((k) => t[k] = b[k]);
11049
11049
  return t;
11050
11050
  };
11051
- minimatch2.defaults = (def) => {
11051
+ minimatch3.defaults = (def) => {
11052
11052
  if (!def || typeof def !== "object" || !Object.keys(def).length) {
11053
- return minimatch2;
11053
+ return minimatch3;
11054
11054
  }
11055
- const orig = minimatch2;
11055
+ const orig = minimatch3;
11056
11056
  const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
11057
11057
  m.Minimatch = class Minimatch extends orig.Minimatch {
11058
11058
  constructor(pattern, options) {
@@ -11067,7 +11067,7 @@ var require_minimatch2 = __commonJS({
11067
11067
  m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
11068
11068
  return m;
11069
11069
  };
11070
- minimatch2.braceExpand = (pattern, options) => braceExpand(pattern, options);
11070
+ minimatch3.braceExpand = (pattern, options) => braceExpand(pattern, options);
11071
11071
  var braceExpand = (pattern, options = {}) => {
11072
11072
  assertValidPattern(pattern);
11073
11073
  if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
@@ -11085,8 +11085,8 @@ var require_minimatch2 = __commonJS({
11085
11085
  }
11086
11086
  };
11087
11087
  var SUBPARSE = Symbol("subparse");
11088
- minimatch2.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
11089
- minimatch2.match = (list, pattern, options = {}) => {
11088
+ minimatch3.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
11089
+ minimatch3.match = (list, pattern, options = {}) => {
11090
11090
  const mm = new Minimatch(pattern, options);
11091
11091
  list = list.filter((f) => mm.match(f));
11092
11092
  if (mm.options.nonull && !list.length) {
@@ -11543,10 +11543,10 @@ var require_minimatch2 = __commonJS({
11543
11543
  return this.negate;
11544
11544
  }
11545
11545
  static defaults(def) {
11546
- return minimatch2.defaults(def).Minimatch;
11546
+ return minimatch3.defaults(def).Minimatch;
11547
11547
  }
11548
11548
  };
11549
- minimatch2.Minimatch = Minimatch;
11549
+ minimatch3.Minimatch = Minimatch;
11550
11550
  }
11551
11551
  });
11552
11552
 
@@ -11565,9 +11565,9 @@ var require_common = __commonJS({
11565
11565
  }
11566
11566
  var fs9 = require("fs");
11567
11567
  var path7 = require("path");
11568
- var minimatch2 = require_minimatch2();
11568
+ var minimatch3 = require_minimatch2();
11569
11569
  var isAbsolute = require("path").isAbsolute;
11570
- var Minimatch = minimatch2.Minimatch;
11570
+ var Minimatch = minimatch3.Minimatch;
11571
11571
  function alphasort(a, b) {
11572
11572
  return a.localeCompare(b, "en");
11573
11573
  }
@@ -11751,8 +11751,8 @@ var require_sync = __commonJS({
11751
11751
  module2.exports = globSync;
11752
11752
  globSync.GlobSync = GlobSync;
11753
11753
  var rp = require_fs2();
11754
- var minimatch2 = require_minimatch2();
11755
- var Minimatch = minimatch2.Minimatch;
11754
+ var minimatch3 = require_minimatch2();
11755
+ var Minimatch = minimatch3.Minimatch;
11756
11756
  var Glob = require_glob().Glob;
11757
11757
  var util = require("util");
11758
11758
  var path7 = require("path");
@@ -11840,7 +11840,7 @@ var require_sync = __commonJS({
11840
11840
  var abs = this._makeAbs(read);
11841
11841
  if (childrenIgnored(this, read))
11842
11842
  return;
11843
- var isGlobStar = remain[0] === minimatch2.GLOBSTAR;
11843
+ var isGlobStar = remain[0] === minimatch3.GLOBSTAR;
11844
11844
  if (isGlobStar)
11845
11845
  this._processGlobStar(prefix, read, abs, remain, index, inGlobStar);
11846
11846
  else
@@ -12149,8 +12149,8 @@ var require_glob = __commonJS({
12149
12149
  "../../node_modules/.pnpm/glob@8.0.3/node_modules/glob/glob.js"(exports, module2) {
12150
12150
  module2.exports = glob2;
12151
12151
  var rp = require_fs2();
12152
- var minimatch2 = require_minimatch2();
12153
- var Minimatch = minimatch2.Minimatch;
12152
+ var minimatch3 = require_minimatch2();
12153
+ var Minimatch = minimatch3.Minimatch;
12154
12154
  var inherits = require_inherits();
12155
12155
  var EE = require("events").EventEmitter;
12156
12156
  var path7 = require("path");
@@ -12194,8 +12194,8 @@ var require_glob = __commonJS({
12194
12194
  glob2.hasMagic = function(pattern, options_) {
12195
12195
  var options = extend({}, options_);
12196
12196
  options.noprocess = true;
12197
- var g2 = new Glob(pattern, options);
12198
- var set = g2.minimatch.set;
12197
+ var g = new Glob(pattern, options);
12198
+ var set = g.minimatch.set;
12199
12199
  if (!pattern)
12200
12200
  return false;
12201
12201
  if (set.length > 1)
@@ -12388,7 +12388,7 @@ var require_glob = __commonJS({
12388
12388
  var abs = this._makeAbs(read);
12389
12389
  if (childrenIgnored(this, read))
12390
12390
  return cb();
12391
- var isGlobStar = remain[0] === minimatch2.GLOBSTAR;
12391
+ var isGlobStar = remain[0] === minimatch3.GLOBSTAR;
12392
12392
  if (isGlobStar)
12393
12393
  this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb);
12394
12394
  else
@@ -12776,10 +12776,10 @@ var require_mode = __commonJS({
12776
12776
  var myUid = options.uid !== void 0 ? options.uid : process.getuid && process.getuid();
12777
12777
  var myGid = options.gid !== void 0 ? options.gid : process.getgid && process.getgid();
12778
12778
  var u = parseInt("100", 8);
12779
- var g2 = parseInt("010", 8);
12779
+ var g = parseInt("010", 8);
12780
12780
  var o = parseInt("001", 8);
12781
- var ug = u | g2;
12782
- var ret = mod & o || mod & g2 && gid === myGid || mod & u && uid === myUid || mod & ug && myUid === 0;
12781
+ var ug = u | g;
12782
+ var ret = mod & o || mod & g && gid === myGid || mod & u && uid === myUid || mod & ug && myUid === 0;
12783
12783
  return ret;
12784
12784
  }
12785
12785
  }
@@ -12900,7 +12900,7 @@ var require_which = __commonJS({
12900
12900
  p = cmd.slice(0, 2) + p;
12901
12901
  }
12902
12902
  ;
12903
- (function E3(ii, ll) {
12903
+ (function E(ii, ll) {
12904
12904
  if (ii === ll)
12905
12905
  return F(i + 1, l);
12906
12906
  var ext = pathExt[ii];
@@ -12911,7 +12911,7 @@ var require_which = __commonJS({
12911
12911
  else
12912
12912
  return cb(null, p + ext);
12913
12913
  }
12914
- return E3(ii + 1, ll);
12914
+ return E(ii + 1, ll);
12915
12915
  });
12916
12916
  })(0, pathExt.length);
12917
12917
  })(0, pathEnv.length);
@@ -13216,8 +13216,8 @@ var require_semver = __commonJS({
13216
13216
  }
13217
13217
  }
13218
13218
  var i;
13219
- exports.parse = parse6;
13220
- function parse6(version, options) {
13219
+ exports.parse = parse4;
13220
+ function parse4(version, options) {
13221
13221
  if (!options || typeof options !== "object") {
13222
13222
  options = {
13223
13223
  loose: !!options,
@@ -13245,12 +13245,12 @@ var require_semver = __commonJS({
13245
13245
  }
13246
13246
  exports.valid = valid;
13247
13247
  function valid(version, options) {
13248
- var v = parse6(version, options);
13248
+ var v = parse4(version, options);
13249
13249
  return v ? v.version : null;
13250
13250
  }
13251
13251
  exports.clean = clean;
13252
13252
  function clean(version, options) {
13253
- var s = parse6(version.trim().replace(/^[=v]+/, ""), options);
13253
+ var s = parse4(version.trim().replace(/^[=v]+/, ""), options);
13254
13254
  return s ? s.version : null;
13255
13255
  }
13256
13256
  exports.SemVer = SemVer2;
@@ -13460,8 +13460,8 @@ var require_semver = __commonJS({
13460
13460
  if (eq(version1, version2)) {
13461
13461
  return null;
13462
13462
  } else {
13463
- var v1 = parse6(version1);
13464
- var v2 = parse6(version2);
13463
+ var v1 = parse4(version1);
13464
+ var v2 = parse4(version2);
13465
13465
  var prefix = "";
13466
13466
  if (v1.prerelease.length || v2.prerelease.length) {
13467
13467
  prefix = "pre";
@@ -14131,7 +14131,7 @@ var require_semver = __commonJS({
14131
14131
  }
14132
14132
  exports.prerelease = prerelease;
14133
14133
  function prerelease(version, options) {
14134
- var parsed = parse6(version, options);
14134
+ var parsed = parse4(version, options);
14135
14135
  return parsed && parsed.prerelease.length ? parsed.prerelease : null;
14136
14136
  }
14137
14137
  exports.intersects = intersects3;
@@ -14152,7 +14152,7 @@ var require_semver = __commonJS({
14152
14152
  if (match == null) {
14153
14153
  return null;
14154
14154
  }
14155
- return parse6(match[1] + "." + (match[2] || "0") + "." + (match[3] || "0"));
14155
+ return parse4(match[1] + "." + (match[2] || "0") + "." + (match[3] || "0"));
14156
14156
  }
14157
14157
  }
14158
14158
  });
@@ -14220,7 +14220,7 @@ var require_parse = __commonJS({
14220
14220
  }
14221
14221
  return parsed;
14222
14222
  }
14223
- function parse6(command, args, options) {
14223
+ function parse4(command, args, options) {
14224
14224
  if (args && !Array.isArray(args)) {
14225
14225
  options = args;
14226
14226
  args = null;
@@ -14239,7 +14239,7 @@ var require_parse = __commonJS({
14239
14239
  };
14240
14240
  return options.shell ? parseShell(parsed) : parseNonShell(parsed);
14241
14241
  }
14242
- module2.exports = parse6;
14242
+ module2.exports = parse4;
14243
14243
  }
14244
14244
  });
14245
14245
 
@@ -14298,16 +14298,16 @@ var require_cross_spawn = __commonJS({
14298
14298
  "../../node_modules/.pnpm/cross-spawn@6.0.5/node_modules/cross-spawn/index.js"(exports, module2) {
14299
14299
  "use strict";
14300
14300
  var cp = require("child_process");
14301
- var parse6 = require_parse();
14301
+ var parse4 = require_parse();
14302
14302
  var enoent = require_enoent();
14303
14303
  function spawn2(command, args, options) {
14304
- const parsed = parse6(command, args, options);
14304
+ const parsed = parse4(command, args, options);
14305
14305
  const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
14306
14306
  enoent.hookChildProcess(spawned, parsed);
14307
14307
  return spawned;
14308
14308
  }
14309
14309
  function spawnSync(command, args, options) {
14310
- const parsed = parse6(command, args, options);
14310
+ const parsed = parse4(command, args, options);
14311
14311
  const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);
14312
14312
  result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);
14313
14313
  return result;
@@ -14315,7 +14315,7 @@ var require_cross_spawn = __commonJS({
14315
14315
  module2.exports = spawn2;
14316
14316
  module2.exports.spawn = spawn2;
14317
14317
  module2.exports.sync = spawnSync;
14318
- module2.exports._parse = parse6;
14318
+ module2.exports._parse = parse4;
14319
14319
  module2.exports._enoent = enoent;
14320
14320
  }
14321
14321
  });
@@ -14457,8 +14457,8 @@ var require_semver2 = __commonJS({
14457
14457
  }
14458
14458
  }
14459
14459
  var i;
14460
- exports.parse = parse6;
14461
- function parse6(version, options) {
14460
+ exports.parse = parse4;
14461
+ function parse4(version, options) {
14462
14462
  if (!options || typeof options !== "object") {
14463
14463
  options = {
14464
14464
  loose: !!options,
@@ -14486,12 +14486,12 @@ var require_semver2 = __commonJS({
14486
14486
  }
14487
14487
  exports.valid = valid;
14488
14488
  function valid(version, options) {
14489
- var v = parse6(version, options);
14489
+ var v = parse4(version, options);
14490
14490
  return v ? v.version : null;
14491
14491
  }
14492
14492
  exports.clean = clean;
14493
14493
  function clean(version, options) {
14494
- var s = parse6(version.trim().replace(/^[=v]+/, ""), options);
14494
+ var s = parse4(version.trim().replace(/^[=v]+/, ""), options);
14495
14495
  return s ? s.version : null;
14496
14496
  }
14497
14497
  exports.SemVer = SemVer2;
@@ -14723,8 +14723,8 @@ var require_semver2 = __commonJS({
14723
14723
  if (eq(version1, version2)) {
14724
14724
  return null;
14725
14725
  } else {
14726
- var v1 = parse6(version1);
14727
- var v2 = parse6(version2);
14726
+ var v1 = parse4(version1);
14727
+ var v2 = parse4(version2);
14728
14728
  var prefix = "";
14729
14729
  if (v1.prerelease.length || v2.prerelease.length) {
14730
14730
  prefix = "pre";
@@ -15428,7 +15428,7 @@ var require_semver2 = __commonJS({
15428
15428
  }
15429
15429
  exports.prerelease = prerelease;
15430
15430
  function prerelease(version, options) {
15431
- var parsed = parse6(version, options);
15431
+ var parsed = parse4(version, options);
15432
15432
  return parsed && parsed.prerelease.length ? parsed.prerelease : null;
15433
15433
  }
15434
15434
  exports.intersects = intersects3;
@@ -15465,7 +15465,7 @@ var require_semver2 = __commonJS({
15465
15465
  if (match === null) {
15466
15466
  return null;
15467
15467
  }
15468
- return parse6(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options);
15468
+ return parse4(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options);
15469
15469
  }
15470
15470
  }
15471
15471
  });
@@ -18449,7 +18449,7 @@ var require_parse2 = __commonJS({
18449
18449
  var token;
18450
18450
  var key;
18451
18451
  var root;
18452
- module2.exports = function parse6(text, reviver) {
18452
+ module2.exports = function parse4(text, reviver) {
18453
18453
  source = String(text);
18454
18454
  parseState = "start";
18455
18455
  stack = [];
@@ -19505,10 +19505,10 @@ var require_stringify = __commonJS({
19505
19505
  // ../../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/index.js
19506
19506
  var require_lib5 = __commonJS({
19507
19507
  "../../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/index.js"(exports, module2) {
19508
- var parse6 = require_parse2();
19508
+ var parse4 = require_parse2();
19509
19509
  var stringify2 = require_stringify();
19510
19510
  var JSON5 = {
19511
- parse: parse6,
19511
+ parse: parse4,
19512
19512
  stringify: stringify2
19513
19513
  };
19514
19514
  module2.exports = JSON5;
@@ -19812,7 +19812,7 @@ var require_bytes = __commonJS({
19812
19812
  "use strict";
19813
19813
  module2.exports = bytes2;
19814
19814
  module2.exports.format = format;
19815
- module2.exports.parse = parse6;
19815
+ module2.exports.parse = parse4;
19816
19816
  var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g;
19817
19817
  var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/;
19818
19818
  var map = {
@@ -19826,7 +19826,7 @@ var require_bytes = __commonJS({
19826
19826
  var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;
19827
19827
  function bytes2(value, options) {
19828
19828
  if (typeof value === "string") {
19829
- return parse6(value);
19829
+ return parse4(value);
19830
19830
  }
19831
19831
  if (typeof value === "number") {
19832
19832
  return format(value, options);
@@ -19870,7 +19870,7 @@ var require_bytes = __commonJS({
19870
19870
  }
19871
19871
  return str + unitSeparator + unit;
19872
19872
  }
19873
- function parse6(val) {
19873
+ function parse4(val) {
19874
19874
  if (typeof val === "number" && !isNaN(val)) {
19875
19875
  return val;
19876
19876
  }
@@ -28268,6 +28268,7 @@ __export(src_exports, {
28268
28268
  NowBuildError: () => NowBuildError,
28269
28269
  PYTHON_FRAMEWORKS: () => PYTHON_FRAMEWORKS,
28270
28270
  Prerender: () => Prerender,
28271
+ SUPPORTED_AL2023_RUNTIMES: () => SUPPORTED_AL2023_RUNTIMES,
28271
28272
  Span: () => Span,
28272
28273
  UNIFIED_BACKEND_BUILDER: () => UNIFIED_BACKEND_BUILDER,
28273
28274
  Version: () => Version,
@@ -28370,6 +28371,7 @@ __export(src_exports, {
28370
28371
  streamToDigestAsync: () => streamToDigestAsync,
28371
28372
  streamWithExtendedPayload: () => streamWithExtendedPayload,
28372
28373
  traverseUpDirectories: () => traverseUpDirectories,
28374
+ validateBuildResult: () => validateBuildResult,
28373
28375
  validateEnvWrapperSupport: () => validateEnvWrapperSupport,
28374
28376
  validateFrameworkVersion: () => validateFrameworkVersion,
28375
28377
  validateLambdaSize: () => validateLambdaSize,
@@ -32562,124 +32564,6 @@ function getLambdaEnvironment(lambda, buffer, options) {
32562
32564
  return environment;
32563
32565
  }
32564
32566
 
32565
- // ../../node_modules/.pnpm/cjs-module-lexer@1.2.3/node_modules/cjs-module-lexer/dist/lexer.mjs
32566
- var A;
32567
- var Q = 1 === new Uint8Array(new Uint16Array([1]).buffer)[0];
32568
- function parse4(g2, I = "@") {
32569
- if (!A)
32570
- throw new Error("Not initialized");
32571
- const D = g2.length + 1, N = (A.__heap_base.value || A.__heap_base) + 4 * D - A.memory.buffer.byteLength;
32572
- N > 0 && A.memory.grow(Math.ceil(N / 65536));
32573
- const k = A.sa(D);
32574
- if ((Q ? C : E)(g2, new Uint16Array(A.memory.buffer, k, D)), !A.parseCJS(k, g2.length, 0, 0, 0))
32575
- throw Object.assign(new Error(`Parse error ${I}${A.e()}:${g2.slice(0, A.e()).split("\n").length}:${A.e() - g2.lastIndexOf("\n", A.e() - 1)}`), { idx: A.e() });
32576
- let w = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), J = /* @__PURE__ */ new Set();
32577
- for (; A.rre(); ) {
32578
- const Q3 = B(g2.slice(A.res(), A.ree()));
32579
- Q3 && o.add(Q3);
32580
- }
32581
- for (; A.ru(); )
32582
- J.add(B(g2.slice(A.us(), A.ue())));
32583
- for (; A.re(); ) {
32584
- let Q3 = B(g2.slice(A.es(), A.ee()));
32585
- void 0 === Q3 || J.has(Q3) || w.add(Q3);
32586
- }
32587
- return { exports: [...w], reexports: [...o] };
32588
- }
32589
- function B(A3) {
32590
- if ('"' !== A3[0] && "'" !== A3[0])
32591
- return A3;
32592
- try {
32593
- const Q3 = (0, eval)(A3);
32594
- for (let A4 = 0; A4 < Q3.length; A4++) {
32595
- const B3 = 64512 & Q3.charCodeAt(A4);
32596
- if (!(B3 < 55296)) {
32597
- if (55296 !== B3)
32598
- return;
32599
- if (56320 != (64512 & Q3.charCodeAt(++A4)))
32600
- return;
32601
- }
32602
- }
32603
- return Q3;
32604
- } catch {
32605
- }
32606
- }
32607
- function E(A3, Q3) {
32608
- const B3 = A3.length;
32609
- let E3 = 0;
32610
- for (; E3 < B3; ) {
32611
- const B4 = A3.charCodeAt(E3);
32612
- Q3[E3++] = (255 & B4) << 8 | B4 >>> 8;
32613
- }
32614
- }
32615
- function C(A3, Q3) {
32616
- const B3 = A3.length;
32617
- let E3 = 0;
32618
- for (; E3 < B3; )
32619
- Q3[E3] = A3.charCodeAt(E3++);
32620
- }
32621
- var g;
32622
- function init() {
32623
- return g || (g = (async () => {
32624
- const Q3 = await WebAssembly.compile((B3 = "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EBENACACLwEAQS5HDQELQQAgAkESajYCvKABAkAgAi8BEiIDQdMARw0AIAIvARRB9ABHDQEgAi8BFkHhAEcNASACLwEYQfIARw0BQQAgAkEaajYCvKABIAIvARohAwsgA0H//wNxQShHDQBBACgCsKABQQAoAoxANgIAQQBBATsBhkBBAEEAKAK8oAEiAkECajYCvKABIAIvAQJB8gBHDQBBAhAQGgtBAEEAKAK8oAE2AoxADAELAkAgAkEEakHtAEHwAEHvAEHyAEH0ABATRQ0AIAAQEUUNABAkQQAoArygASEAC0EAIAA2AoxAC0EAKALAoAEhA0EAKAK8oAEhAgwACwsgAgv3AQEEf0EAIQECQEEAKAK8oAEiAkECakHlAEHxAEH1AEHpAEHyAEHlABAmRQ0AQQAhAUEAIAJBDmo2ArygAQJAECdBKEcNAEEAQQAoArygAUECajYCvKABECchA0EAKAK8oAEhBAJAIANBJ0YNACADQSJHDQELIAMQHEEAQQAoArygAUECaiIDNgK8oAEQJ0EpRw0AAkAgAEF/aiIBQQFLDQACQAJAIAEOAgEAAQsgBCADQQAoAqAfEQAAQQEPCyAEIANBACgCoB8RAABBAQ8LQQAoArSgASAENgIAQQAoArSgASADNgIEQQEPC0EAIAI2ArygAQsgAQsdAAJAQQAoApgfIABHDQBBAQ8LIABBfmovAQAQJQv+AgEEf0EAKAKYHyEBAkADQCAAQX5qIQIgAC8BACIDQSBHDQEgACABSyEEIAIhACAEDQALCwJAIANBPUcNAAJAA0AgAkF+aiEAIAIvAQBBIEcNASACIAFLIQQgACECIAQNAAsLIABBAmohAiAAQQRqIQNBACEEAkADQCACECghACACIAFNDQEgAEUNASAAQdwARg0CIAAQKUUNASACQX5BfCAAQYCABEkbaiECIAAQKiEEDAALCyAEQQFxRQ0AIAIvAQBBIEcNAEEAKAK0oAEiBEEAKAKwH0YNACAEIAM2AgwgBCACQQJqNgIIIAJBfmohAEEgIQICQANAIABBAmogAU0NASACQf//A3FBIEcNASAALwEAIQIgAEF+aiEADAALCyACQf//A3FBjn9qIgJBAksNAAJAAkACQCACDgMAAwEACyAAQfYAQeEAECsNAQwCCyAAQewAQeUAECsNACAAQeMAQe8AQe4AQfMAECxFDQELQQAgBEEQajYCtKABCws/AQF/QQAhBgJAIAAvAQAgAUcNACAALwECIAJHDQAgAC8BBCADRw0AIAAvAQYgBEcNACAALwEIIAVGIQYLIAYLpCYBCH9BAEEAKAK8oAEiAUEMajYCvKABIAFBCmohAQJAECdBLkcNAEEAQQAoArygAUECajYCvKABAkACQBAnIgJB5ABHDQBBACgCvKABIgBBAmpB5QBB5gBB6QBB7gBB5QBB0ABB8gBB7wBB8ABB5QBB8gBB9ABB+QAQL0UNAkEAIABBHGo2ArygASAAQRpqIQEQJ0EoRw0CQQBBACgCvKABQQJqNgK8oAEQJxAwRQ0CECdBLEcNAkEAQQAoArygAUECajYCvKABAkAQJyIAQSdGDQAgAEEiRw0DC0EAKAK8oAEhAiAAEBxBAEEAKAK8oAFBAmoiADYCvKABECdBLEcNAUEAQQAoArygAUECajYCvKABECdB+wBHDQFBAEEAKAK8oAFBAmo2ArygAQJAECciA0HlAEcNAEEAKAK8oAEiA0ECakHuAEH1AEHtAEHlAEHyAEHhAEHiAEHsAEHlABAxRQ0CQQAgA0EUajYCvKABECdBOkcNAkEAQQAoArygAUECajYCvKABECdB9ABHDQJBACgCvKABIgMvAQJB8gBHDQIgAy8BBEH1AEcNAiADLwEGQeUARw0CQQAgA0EIajYCvKABECdBLEcNAkEAQQAoArygAUECajYCvKABECchAwsCQCADQecARg0AIANB9gBHDQJBACgCvKABIgMvAQJB4QBHDQIgAy8BBEHsAEcNAiADLwEGQfUARw0CIAMvAQhB5QBHDQJBACADQQpqNgK8oAEQJ0E6Rw0CIAIgAEEAKAKcHxEAAEEAIAE2ArygAQ8LQQAoArygASIDLwECQeUARw0BIAMvAQRB9ABHDQFBACADQQZqNgK8oAECQBAnIgNBOkcNAEEAQQAoArygAUECajYCvKABECdB5gBHDQJBACgCvKABIgNBAmpB9QBB7gBB4wBB9ABB6QBB7wBB7gAQI0UNAkEAIANBEGoiAzYCvKABAkAQJyIEQShGDQAgA0EAKAK8oAFGDQMgBBAtRQ0DCxAnIQMLIANBKEcNAUEAQQAoArygAUECajYCvKABECdBKUcNAUEAQQAoArygAUECajYCvKABECdB+wBHDQFBAEEAKAK8oAFBAmo2ArygARAnQfIARw0BQQAoArygASIDQQJqQeUAQfQAQfUAQfIAQe4AEBNFDQFBACADQQxqNgK8oAEQJxAtRQ0BAkACQAJAECciA0HbAEYNACADQS5HDQJBAEEAKAK8oAFBAmo2ArygARAnEC0NAQwEC0EAQQAoArygAUECajYCvKABAkAQJyIDQSdGDQAgA0EiRw0ECyADEBxBAEEAKAK8oAFBAmo2ArygARAnQd0ARw0DQQBBACgCvKABQQJqNgK8oAELECchAwsCQCADQTtHDQBBAEEAKAK8oAFBAmo2ArygARAnIQMLIANB/QBHDQFBAEEAKAK8oAFBAmo2ArygAQJAECciA0EsRw0AQQBBACgCvKABQQJqNgK8oAEQJyEDCyADQf0ARw0BQQBBACgCvKABQQJqNgK8oAEQJ0EpRw0BIAIgAEEAKAKcHxEAAA8LIAJB6wBHDQEgAEUNAUEAKAK8oAEiAC8BAkHlAEcNASAALwEEQfkARw0BIAAvAQZB8wBHDQEgAEEGaiEBQQAgAEEIajYCvKABECdBKEcNAUEAQQAoArygAUECajYCvKABECchAEEAKAK8oAEhAiAAEC1FDQFBACgCvKABIQAQJ0EpRw0BQQBBACgCvKABIgFBAmo2ArygARAnQS5HDQFBAEEAKAK8oAFBAmo2ArygARAnQeYARw0BQQAoArygASIDQQJqQe8AQfIAQcUAQeEAQeMAQegAECZFDQFBACADQQ5qNgK8oAEQJyEDQQAoArygASIEQX5qIQEgA0EoRw0BQQAgBEECajYCvKABECdB5gBHDQFBACgCvKABIgNBAmpB9QBB7gBB4wBB9ABB6QBB7wBB7gAQI0UNAUEAIANBEGo2ArygARAnQShHDQFBAEEAKAK8oAFBAmo2ArygARAnIQNBACgCvKABIQQgAxAtRQ0BQQAoArygASEDECdBKUcNAUEAQQAoArygAUECajYCvKABECdB+wBHDQFBAEEAKAK8oAFBAmo2ArygARAnQekARw0BQQAoArygASIFLwECQeYARw0BQQAgBUEEajYCvKABECdBKEcNAUEAQQAoArygAUECajYCvKABECcaQQAoArygASIFIAQgAyAEayIDEEENASAAIAJrIgZBAXUhB0EAIAUgA0EBdSIIQQF0ajYCvKAB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ASADLwEGQQpGGyEBDAALC0EAIAE2ArygARAdDwtBACABNgK8oAELOAEBf0EAQQE6APAfQQAoArygASEAQQBBACgCwKABQQJqNgK8oAFBACAAQQAoApgfa0EBdTYC7B8LzgEBBX9BACgCvKABIQBBACgCwKABIQEDQCAAIgJBAmohAAJAAkAgAiABTw0AIAAvAQAiA0Gkf2oiBEEETQ0BIANBJEcNAiACLwEEQfsARw0CQQBBAC8BhEAiAEEBajsBhEBBACgCoGAgAEEBdGpBAC8BiEA7AQBBACACQQRqNgK8oAFBAEEALwGGQEEBaiIAOwGIQEEAIAA7AYZADwtBACAANgK8oAEQHQ8LAkACQCAEDgUBAgICAAELQQAgADYCvKABDwsgAkEEaiEADAALC7YCAQJ/QQBBACgCvKABIgFBDmo2ArygAQJAAkACQBAnIgJB2wBGDQAgAkE9Rg0BIAJBLkcNAkEAQQAoArygAUECajYCvKABECchAkEAKAK8oAEhACACEC1FDQJBACgCvKABIQIQJ0E9Rw0CIAAgAkEAKAKcHxEAAA8LQQBBACgCvKABQQJqNgK8oAECQBAnIgJBJ0YNACACQSJHDQILQQAoArygASEAIAIQHEEAQQAoArygAUECaiICNgK8oAEQJ0HdAEcNAUEAQQAoArygAUECajYCvKABECdBPUcNASAAIAJBACgCnB8RAAAMAQsgAEUNAEEAKAKoHxEBAEEAQQAoArygAUECajYCvKABAkAQJyICQfIARg0AIAJB+wBHDQEQLg8LQQEQEBoLQQAgAUEMajYCvKABCzYBAn9BAEEAKAK8oAFBDGoiADYCvKABECchAQJAAkBBACgCvKABIABHDQAgARA/RQ0BCxAdCwtsAQF/QQBBACgCvKABIgBBDGo2ArygAQJAECdBLkcNAEEAQQAoArygAUECajYCvKABECdB5QBHDQBBACgCvKABQQJqQfgAQfAAQe8AQfIAQfQAQfMAECZFDQBBARAfDwtBACAAQQpqNgK8oAEL6QEBAX9BACEXAkAgAC8BACABRw0AIAAvAQIgAkcNACAALwEEIANHDQAgAC8BBiAERw0AIAAvAQggBUcNACAALwEKIAZHDQAgAC8BDCAHRw0AIAAvAQ4gCEcNACAALwEQIAlHDQAgAC8BEiAKRw0AIAAvARQgC0cN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ACAALwEUIAtHDQAgAC8BFiAMRw0AIAAvARggDUYhDgsgDguoAQECf0EAIQFBACgCvKABIQICQAJAIABB7QBHDQAgAkECakHvAEHkAEH1AEHsAEHlABATRQ0BQQAgAkEMajYCvKABAkAQJ0EuRg0AQQAhAQwCC0EAQQAoArygAUECajYCvKABECchAAsgAEHlAEcNAEEAKAK8oAEiAEEOaiACIABBAmpB+ABB8ABB7wBB8gBB9ABB8wAQJiIBGyECC0EAIAI2ArygASABC2cBAX9BACEKAkAgAC8BACABRw0AIAAvAQIgAkcNACAALwEEIANHDQAgAC8BBiAERw0AIAAvAQggBUcNACAALwEKIAZHDQAgAC8BDCAHRw0AIAAvAQ4gCEcNACAALwEQIAlGIQoLIAoLcQEBf0EAIQsCQCAALwEAIAFHDQAgAC8BAiACRw0AIAAvAQQgA0cNACAALwEGIARHDQAgAC8BCCAFRw0AIAAvAQogBkcNACAALwEMIAdHDQAgAC8BDiAIRw0AIAAvARAgCUcNACAALwESIApGIQsLIAsLgwQBAn9BACECAkAQJ0HPAEcNAEEAIQJBACgCvKABIgNBAmpB4gBB6gBB5QBB4wBB9AAQE0UNAEEAIQJBACADQQxqNgK8oAEQJ0EuRw0AQQBBACgCvKABQQJqNgK8oAECQBAnIgNB8ABHDQBBACECQQAoArygASIDQQJqQfIAQe8AQfQAQe8AQfQAQfkAQfAAQeUAED1FDQFBACECQQAgA0ESajYCvKABECdBLkcNAUEAQQAoArygAUECajYCvKABECchAwtBACECIANB6ABHDQBBACECQQAoArygASIDQQJqQeEAQfMAQc8AQfcAQe4AQdAAQfIAQe8AQfAAQeUAQfIAQfQAQfkAEC9FDQBBACECQQAgA0EcajYCvKABECdBLkcNAEEAIQJBAEEAKAK8oAFBAmo2ArygARAnQeMARw0AQQAhAkEAKAK8oAEiAy8BAkHhAEcNACADLwEEQewARw0AIAMvAQZB7ABHDQBBACECQQAgA0EIajYCvKABECdBKEcNAEEAIQJBAEEAKAK8oAFBAmo2ArygARAnEC1FDQAQJ0EsRw0AQQAhAkEAQQAoArygAUECajYCvKABECcaQQAoArygASIDIAAgAUEBdCIBEEENAEEAIQJBACAD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", "undefined" != typeof window && "function" == typeof atob ? Uint8Array.from(atob(B3), (A3) => A3.charCodeAt(0)) : Buffer.from(B3, "base64")));
32625
- var B3;
32626
- const { exports: E3 } = await WebAssembly.instantiate(Q3);
32627
- A = E3;
32628
- })());
32629
- }
32630
-
32631
- // ../../node_modules/.pnpm/es-module-lexer@1.5.0/node_modules/es-module-lexer/dist/lexer.js
32632
- var ImportType;
32633
- !function(A3) {
32634
- A3[A3.Static = 1] = "Static", A3[A3.Dynamic = 2] = "Dynamic", A3[A3.ImportMeta = 3] = "ImportMeta", A3[A3.StaticSourcePhase = 4] = "StaticSourcePhase", A3[A3.DynamicSourcePhase = 5] = "DynamicSourcePhase";
32635
- }(ImportType || (ImportType = {}));
32636
- var A2 = 1 === new Uint8Array(new Uint16Array([1]).buffer)[0];
32637
- function parse5(E3, g2 = "@") {
32638
- if (!C2)
32639
- return init2.then(() => parse5(E3));
32640
- const I = E3.length + 1, w = (C2.__heap_base.value || C2.__heap_base) + 4 * I - C2.memory.buffer.byteLength;
32641
- w > 0 && C2.memory.grow(Math.ceil(w / 65536));
32642
- const D = C2.sa(I - 1);
32643
- if ((A2 ? B2 : Q2)(E3, new Uint16Array(C2.memory.buffer, D, I)), !C2.parse())
32644
- throw Object.assign(new Error(`Parse error ${g2}:${E3.slice(0, C2.e()).split("\n").length}:${C2.e() - E3.lastIndexOf("\n", C2.e() - 1)}`), { idx: C2.e() });
32645
- const o = [], K = [];
32646
- for (; C2.ri(); ) {
32647
- const A3 = C2.is(), Q3 = C2.ie(), B3 = C2.it(), g3 = C2.ai(), I2 = C2.id(), w2 = C2.ss(), D2 = C2.se();
32648
- let K2;
32649
- C2.ip() && (K2 = k(E3.slice(-1 === I2 ? A3 - 1 : A3, -1 === I2 ? Q3 + 1 : Q3))), o.push({ n: K2, t: B3, s: A3, e: Q3, ss: w2, se: D2, d: I2, a: g3 });
32650
- }
32651
- for (; C2.re(); ) {
32652
- const A3 = C2.es(), Q3 = C2.ee(), B3 = C2.els(), g3 = C2.ele(), I2 = E3.slice(A3, Q3), w2 = I2[0], D2 = B3 < 0 ? void 0 : E3.slice(B3, g3), o2 = D2 ? D2[0] : "";
32653
- K.push({ s: A3, e: Q3, ls: B3, le: g3, n: '"' === w2 || "'" === w2 ? k(I2) : I2, ln: '"' === o2 || "'" === o2 ? k(D2) : D2 });
32654
- }
32655
- function k(A3) {
32656
- try {
32657
- return (0, eval)(A3);
32658
- } catch (A4) {
32659
- }
32660
- }
32661
- return [o, K, !!C2.f(), !!C2.ms()];
32662
- }
32663
- function Q2(A3, Q3) {
32664
- const B3 = A3.length;
32665
- let C3 = 0;
32666
- for (; C3 < B3; ) {
32667
- const B4 = A3.charCodeAt(C3);
32668
- Q3[C3++] = (255 & B4) << 8 | B4 >>> 8;
32669
- }
32670
- }
32671
- function B2(A3, Q3) {
32672
- const B3 = A3.length;
32673
- let C3 = 0;
32674
- for (; C3 < B3; )
32675
- Q3[C3] = A3.charCodeAt(C3++);
32676
- }
32677
- var C2;
32678
- var init2 = WebAssembly.compile((E2 = "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", "undefined" != typeof Buffer ? Buffer.from(E2, "base64") : Uint8Array.from(atob(E2), (A3) => A3.charCodeAt(0)))).then(WebAssembly.instantiate).then(({ exports: A3 }) => {
32679
- C2 = A3;
32680
- });
32681
- var E2;
32682
-
32683
32567
  // src/process-serverless/get-lambda-supports-streaming.ts
32684
32568
  async function getLambdaSupportsStreaming(lambda, forceStreamingRuntime) {
32685
32569
  if (forceStreamingRuntime) {
@@ -32689,67 +32573,10 @@ async function getLambdaSupportsStreaming(lambda, forceStreamingRuntime) {
32689
32573
  return { supportsStreaming: lambda.supportsResponseStreaming };
32690
32574
  }
32691
32575
  if ("launcherType" in lambda && lambda.launcherType === "Nodejs") {
32692
- return lambdaShouldStream(lambda);
32693
- }
32694
- return { supportsStreaming: void 0 };
32695
- }
32696
- var HTTP_METHODS2 = [
32697
- "GET",
32698
- "HEAD",
32699
- "OPTIONS",
32700
- "POST",
32701
- "PUT",
32702
- "DELETE",
32703
- "PATCH"
32704
- ];
32705
- async function lambdaShouldStream(lambda) {
32706
- const stream = lambda.files?.[lambda.handler]?.toStream();
32707
- if (!stream) {
32708
- return { supportsStreaming: void 0 };
32709
- }
32710
- try {
32711
- const buffer = await streamToBuffer2(stream);
32712
- const names = await getFileExports(lambda.handler, buffer.toString("utf8"));
32713
- for (const name of names) {
32714
- if (HTTP_METHODS2.includes(name)) {
32715
- return { supportsStreaming: true };
32716
- }
32717
- }
32718
- } catch (err) {
32719
- return {
32720
- supportsStreaming: void 0,
32721
- error: { handler: lambda.handler, message: String(err) }
32722
- };
32576
+ return { supportsStreaming: true };
32723
32577
  }
32724
32578
  return { supportsStreaming: void 0 };
32725
32579
  }
32726
- async function getFileExports(filename, content) {
32727
- if (filename.endsWith(".mjs")) {
32728
- await init2;
32729
- return parse5(content)[1].map((specifier) => specifier.n);
32730
- }
32731
- try {
32732
- await init();
32733
- return parse4(content).exports;
32734
- } catch {
32735
- await init2;
32736
- return parse5(content)[1].map((specifier) => specifier.n);
32737
- }
32738
- }
32739
- function streamToBuffer2(stream) {
32740
- return new Promise((resolve, reject) => {
32741
- const buffers = [];
32742
- stream.on("error", (err) => {
32743
- reject(err);
32744
- });
32745
- stream.on("data", (buffer) => {
32746
- buffers.push(buffer);
32747
- });
32748
- stream.on("end", () => {
32749
- resolve(Buffer.concat(buffers));
32750
- });
32751
- });
32752
- }
32753
32580
 
32754
32581
  // src/fs/stream-to-digest-async.ts
32755
32582
  var import_crypto = require("crypto");
@@ -32884,6 +32711,108 @@ function toMiddlewareTuple(params) {
32884
32711
  ];
32885
32712
  }
32886
32713
 
32714
+ // src/collect-build-result/validate-build-result.ts
32715
+ var import_minimatch2 = __toESM(require_minimatch());
32716
+ var SUPPORTED_AL2023_RUNTIMES = [
32717
+ "nodejs20.x",
32718
+ "nodejs22.x",
32719
+ "nodejs24.x",
32720
+ "provided.al2023",
32721
+ "python3.12",
32722
+ "python3.13",
32723
+ "python3.14",
32724
+ "ruby3.3",
32725
+ "bun1.x",
32726
+ "executable"
32727
+ ];
32728
+ var DEFAULT_ENTRYPOINT = ".";
32729
+ var DEVELOPING_A_RUNTIME_URL = "https://github.com/vercel/vercel/blob/master/DEVELOPING_A_RUNTIME.md";
32730
+ function isSupportedAl2023Runtime(runtime) {
32731
+ return SUPPORTED_AL2023_RUNTIMES.some((supported) => supported === runtime);
32732
+ }
32733
+ async function validateBuildResult({
32734
+ allowInvalidRuntime = false,
32735
+ buildConfig,
32736
+ buildResponse,
32737
+ osRelease,
32738
+ vercelBaseUrl
32739
+ }) {
32740
+ if (!("output" in buildResponse)) {
32741
+ throw new NowBuildError({
32742
+ code: "NOW_SANDBOX_WORKER_BUILDER_ERROR",
32743
+ message: 'The result of "builder.build" must include an `output` property for "@vercel/vc-build".'
32744
+ });
32745
+ }
32746
+ if (!buildResponse.output || typeof buildResponse.output !== "object") {
32747
+ throw new NowBuildError({
32748
+ code: "NOW_SANDBOX_WORKER_BUILDER_ERROR",
32749
+ message: 'The result of "builder.build" must be an object'
32750
+ });
32751
+ }
32752
+ const buildOutputMap = getAndVerifyOutputLambdasOrEdgeFuncs(buildResponse);
32753
+ if (osRelease?.VERSION === "2023") {
32754
+ const invalidRuntimes = [];
32755
+ for (const [name, entry] of Object.entries(buildOutputMap)) {
32756
+ let lambda;
32757
+ if (entry.type === "Prerender") {
32758
+ lambda = entry.lambda;
32759
+ } else if (entry.type === "Lambda") {
32760
+ lambda = entry;
32761
+ }
32762
+ if (!lambda)
32763
+ continue;
32764
+ if (!isSupportedAl2023Runtime(lambda.runtime)) {
32765
+ invalidRuntimes.push({ name, lambda });
32766
+ }
32767
+ }
32768
+ if (invalidRuntimes.length > 0 && !allowInvalidRuntime) {
32769
+ throw new NowBuildError({
32770
+ code: "NOW_SANDBOX_WORKER_INVALID_RUNTIME",
32771
+ message: `The following Serverless Functions contain an invalid "runtime":
32772
+ ${invalidRuntimes.map(({ name, lambda }) => ` - ${name} (${lambda.runtime})`).join("\n")}`,
32773
+ link: getVercelUrl(
32774
+ "/docs/functions/runtimes#official-runtimes",
32775
+ vercelBaseUrl
32776
+ )
32777
+ });
32778
+ }
32779
+ }
32780
+ const customFunctionConfiguration = getCustomFunctionConfigMaybe(buildConfig);
32781
+ if (customFunctionConfiguration?.runtime) {
32782
+ throw new NowBuildError({
32783
+ code: "NOW_SANDBOX_WORKER_FUNCTION_RUNTIME_VERSION",
32784
+ message: `The Community Runtime ${customFunctionConfiguration.runtime} is not using version 3 of the Runtime API. If you are the Runtime author, see the docs by clicking "View Details" above.`,
32785
+ link: DEVELOPING_A_RUNTIME_URL
32786
+ });
32787
+ }
32788
+ return {
32789
+ buildOutputMap,
32790
+ customFunctionConfiguration
32791
+ };
32792
+ }
32793
+ function getCustomFunctionConfigMaybe(buildConfig) {
32794
+ const functions = buildConfig?.functions ?? buildConfig?.vercelConfig?.functions;
32795
+ if (!functions) {
32796
+ return;
32797
+ }
32798
+ for (const [funcPath, config] of Object.entries(functions)) {
32799
+ if (funcPath === DEFAULT_ENTRYPOINT || (0, import_minimatch2.default)(DEFAULT_ENTRYPOINT, funcPath)) {
32800
+ return config;
32801
+ }
32802
+ }
32803
+ return void 0;
32804
+ }
32805
+ function getVercelUrl(path7, vercelBaseUrl = "https://vercel.com") {
32806
+ const url = new URL(path7, vercelBaseUrl);
32807
+ if (url.pathname === "/") {
32808
+ return url.href.slice(0, -1);
32809
+ }
32810
+ return url.href;
32811
+ }
32812
+ function getAndVerifyOutputLambdasOrEdgeFuncs(buildResponse) {
32813
+ return buildResponse.output;
32814
+ }
32815
+
32887
32816
  // src/collect-build-result/stream-with-extended-payload.ts
32888
32817
  var import_stream = require("stream");
32889
32818
  function streamWithExtendedPayload(stream, data) {
@@ -33363,6 +33292,7 @@ function getExtendedPayload({
33363
33292
  NowBuildError,
33364
33293
  PYTHON_FRAMEWORKS,
33365
33294
  Prerender,
33295
+ SUPPORTED_AL2023_RUNTIMES,
33366
33296
  Span,
33367
33297
  UNIFIED_BACKEND_BUILDER,
33368
33298
  Version,
@@ -33465,6 +33395,7 @@ function getExtendedPayload({
33465
33395
  streamToDigestAsync,
33466
33396
  streamWithExtendedPayload,
33467
33397
  traverseUpDirectories,
33398
+ validateBuildResult,
33468
33399
  validateEnvWrapperSupport,
33469
33400
  validateFrameworkVersion,
33470
33401
  validateLambdaSize,
@@ -1,6 +1,4 @@
1
- import type { Files } from '../types';
2
1
  interface LambdaLike {
3
- files?: Files;
4
2
  handler: string;
5
3
  launcherType?: string;
6
4
  runtime: string;
@@ -16,8 +14,7 @@ export interface SupportsStreamingResult {
16
14
  /**
17
15
  * Determines if a Lambda should have streaming enabled. If
18
16
  * `forceStreamingRuntime` is true, streaming is always enabled. If the
19
- * setting is defined it will be honored. For Node.js it checks the handler
20
- * exports which is why it needs to be asynchronous.
17
+ * setting is defined it will be honored. Enabled by default for Node.js.
21
18
  */
22
19
  export declare function getLambdaSupportsStreaming(lambda: LambdaLike, forceStreamingRuntime: boolean): Promise<SupportsStreamingResult>;
23
20
  export {};
@@ -21,8 +21,6 @@ __export(get_lambda_supports_streaming_exports, {
21
21
  getLambdaSupportsStreaming: () => getLambdaSupportsStreaming
22
22
  });
23
23
  module.exports = __toCommonJS(get_lambda_supports_streaming_exports);
24
- var import_cjs_module_lexer = require("cjs-module-lexer");
25
- var import_es_module_lexer = require("es-module-lexer");
26
24
  async function getLambdaSupportsStreaming(lambda, forceStreamingRuntime) {
27
25
  if (forceStreamingRuntime) {
28
26
  return { supportsStreaming: true };
@@ -31,67 +29,10 @@ async function getLambdaSupportsStreaming(lambda, forceStreamingRuntime) {
31
29
  return { supportsStreaming: lambda.supportsResponseStreaming };
32
30
  }
33
31
  if ("launcherType" in lambda && lambda.launcherType === "Nodejs") {
34
- return lambdaShouldStream(lambda);
35
- }
36
- return { supportsStreaming: void 0 };
37
- }
38
- const HTTP_METHODS = [
39
- "GET",
40
- "HEAD",
41
- "OPTIONS",
42
- "POST",
43
- "PUT",
44
- "DELETE",
45
- "PATCH"
46
- ];
47
- async function lambdaShouldStream(lambda) {
48
- const stream = lambda.files?.[lambda.handler]?.toStream();
49
- if (!stream) {
50
- return { supportsStreaming: void 0 };
51
- }
52
- try {
53
- const buffer = await streamToBuffer(stream);
54
- const names = await getFileExports(lambda.handler, buffer.toString("utf8"));
55
- for (const name of names) {
56
- if (HTTP_METHODS.includes(name)) {
57
- return { supportsStreaming: true };
58
- }
59
- }
60
- } catch (err) {
61
- return {
62
- supportsStreaming: void 0,
63
- error: { handler: lambda.handler, message: String(err) }
64
- };
32
+ return { supportsStreaming: true };
65
33
  }
66
34
  return { supportsStreaming: void 0 };
67
35
  }
68
- async function getFileExports(filename, content) {
69
- if (filename.endsWith(".mjs")) {
70
- await import_es_module_lexer.init;
71
- return (0, import_es_module_lexer.parse)(content)[1].map((specifier) => specifier.n);
72
- }
73
- try {
74
- await (0, import_cjs_module_lexer.init)();
75
- return (0, import_cjs_module_lexer.parse)(content).exports;
76
- } catch {
77
- await import_es_module_lexer.init;
78
- return (0, import_es_module_lexer.parse)(content)[1].map((specifier) => specifier.n);
79
- }
80
- }
81
- function streamToBuffer(stream) {
82
- return new Promise((resolve, reject) => {
83
- const buffers = [];
84
- stream.on("error", (err) => {
85
- reject(err);
86
- });
87
- stream.on("data", (buffer) => {
88
- buffers.push(buffer);
89
- });
90
- stream.on("end", () => {
91
- resolve(Buffer.concat(buffers));
92
- });
93
- });
94
- }
95
36
  // Annotate the CommonJS export names for ESM import in node:
96
37
  0 && (module.exports = {
97
38
  getLambdaSupportsStreaming
package/dist/types.d.ts CHANGED
@@ -520,7 +520,6 @@ export interface Service {
520
520
  schedule?: string;
521
521
  handlerFunction?: string;
522
522
  topics?: ServiceTopics;
523
- consumer?: string;
524
523
  /** custom prefix to inject service URL env vars */
525
524
  envPrefix?: string;
526
525
  }
@@ -736,7 +735,6 @@ export interface ExperimentalServiceConfig {
736
735
  /** Cron schedule expression(s) (e.g., "0 0 * * *") */
737
736
  schedule?: string;
738
737
  topics?: ServiceTopics;
739
- consumer?: string;
740
738
  /** Custom prefix to use to inject service URL env vars */
741
739
  envPrefix?: string;
742
740
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/build-utils",
3
- "version": "13.18.0",
3
+ "version": "13.19.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.js",