@vercel/build-utils 7.9.1 → 7.11.0
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 +12 -0
- package/dist/edge-function.d.ts +5 -1
- package/dist/edge-function.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +47 -9
- package/dist/lambda.d.ts +3 -6
- package/dist/os.d.ts +3 -0
- package/dist/os.js +62 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# @vercel/build-utils
|
2
2
|
|
3
|
+
## 7.11.0
|
4
|
+
|
5
|
+
### Minor Changes
|
6
|
+
|
7
|
+
- Add `getOsRelease()` and `getProvidedRuntime()` functions ([#11370](https://github.com/vercel/vercel/pull/11370))
|
8
|
+
|
9
|
+
## 7.10.0
|
10
|
+
|
11
|
+
### Minor Changes
|
12
|
+
|
13
|
+
- Allow environment variables to be specified for `EdgeFunction` ([#11029](https://github.com/vercel/vercel/pull/11029))
|
14
|
+
|
3
15
|
## 7.9.1
|
4
16
|
|
5
17
|
### Patch Changes
|
package/dist/edge-function.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { Files, FunctionFramework } from './types';
|
1
|
+
import type { Env, Files, FunctionFramework } from './types';
|
2
2
|
/**
|
3
3
|
* An Edge Functions output
|
4
4
|
*/
|
@@ -18,6 +18,10 @@ export declare class EdgeFunction {
|
|
18
18
|
* The entrypoint for the edge function.
|
19
19
|
*/
|
20
20
|
entrypoint: string;
|
21
|
+
/**
|
22
|
+
* Environment variables for the edge function to use at runtime.
|
23
|
+
*/
|
24
|
+
environment?: Env;
|
21
25
|
/**
|
22
26
|
* The list of files to be included in the edge function bundle.
|
23
27
|
*/
|
package/dist/edge-function.js
CHANGED
package/dist/index.d.ts
CHANGED
@@ -22,6 +22,7 @@ export { FileBlob, FileFsRef, FileRef, Lambda, NodejsLambda, createLambda, Prere
|
|
22
22
|
export { EdgeFunction } from './edge-function';
|
23
23
|
export { readConfigFile } from './fs/read-config-file';
|
24
24
|
export { normalizePath } from './fs/normalize-path';
|
25
|
+
export { getOsRelease, getProvidedRuntime } from './os';
|
25
26
|
export * from './should-serve';
|
26
27
|
export * from './schemas';
|
27
28
|
export * from './types';
|
package/dist/index.js
CHANGED
@@ -2893,8 +2893,8 @@ var require_graceful_fs = __commonJS({
|
|
2893
2893
|
fs6.createReadStream = createReadStream;
|
2894
2894
|
fs6.createWriteStream = createWriteStream;
|
2895
2895
|
var fs$readFile = fs6.readFile;
|
2896
|
-
fs6.readFile =
|
2897
|
-
function
|
2896
|
+
fs6.readFile = readFile4;
|
2897
|
+
function readFile4(path7, options, cb) {
|
2898
2898
|
if (typeof options === "function")
|
2899
2899
|
cb = options, options = null;
|
2900
2900
|
return go$readFile(path7, options, cb);
|
@@ -4639,7 +4639,7 @@ var require_jsonfile = __commonJS({
|
|
4639
4639
|
}
|
4640
4640
|
return obj;
|
4641
4641
|
}
|
4642
|
-
var
|
4642
|
+
var readFile4 = universalify.fromPromise(_readFile);
|
4643
4643
|
function readFileSync(file, options = {}) {
|
4644
4644
|
if (typeof options === "string") {
|
4645
4645
|
options = { encoding: options };
|
@@ -4671,7 +4671,7 @@ var require_jsonfile = __commonJS({
|
|
4671
4671
|
return fs5.writeFileSync(file, str, options);
|
4672
4672
|
}
|
4673
4673
|
var jsonfile = {
|
4674
|
-
readFile:
|
4674
|
+
readFile: readFile4,
|
4675
4675
|
readFileSync,
|
4676
4676
|
writeFile,
|
4677
4677
|
writeFileSync
|
@@ -20379,7 +20379,7 @@ var require_dist = __commonJS({
|
|
20379
20379
|
var src_exports2 = {};
|
20380
20380
|
__export2(src_exports2, {
|
20381
20381
|
errorToString: () => errorToString,
|
20382
|
-
isErrnoException: () =>
|
20382
|
+
isErrnoException: () => isErrnoException3,
|
20383
20383
|
isError: () => isError,
|
20384
20384
|
isErrorLike: () => isErrorLike,
|
20385
20385
|
isObject: () => isObject,
|
@@ -20392,7 +20392,7 @@ var require_dist = __commonJS({
|
|
20392
20392
|
var isError = (error) => {
|
20393
20393
|
return import_node_util.default.types.isNativeError(error);
|
20394
20394
|
};
|
20395
|
-
var
|
20395
|
+
var isErrnoException3 = (error) => {
|
20396
20396
|
return isError(error) && "code" in error;
|
20397
20397
|
};
|
20398
20398
|
var isErrorLike = (error) => isObject(error) && "message" in error;
|
@@ -20410,7 +20410,7 @@ var require_dist = __commonJS({
|
|
20410
20410
|
return isErrorLike(error) ? Object.assign(new Error(errorMessage), error) : new Error(errorMessage);
|
20411
20411
|
};
|
20412
20412
|
function isSpawnError(v) {
|
20413
|
-
return
|
20413
|
+
return isErrnoException3(v) && "spawnargs" in v;
|
20414
20414
|
}
|
20415
20415
|
}
|
20416
20416
|
});
|
@@ -20734,10 +20734,12 @@ __export(src_exports, {
|
|
20734
20734
|
getNodeBinPath: () => getNodeBinPath,
|
20735
20735
|
getNodeBinPaths: () => getNodeBinPaths,
|
20736
20736
|
getNodeVersion: () => getNodeVersion,
|
20737
|
+
getOsRelease: () => getOsRelease,
|
20737
20738
|
getPathForPackageManager: () => getPathForPackageManager,
|
20738
20739
|
getPlatformEnv: () => getPlatformEnv,
|
20739
20740
|
getPrefixedEnvVars: () => getPrefixedEnvVars,
|
20740
20741
|
getPrettyError: () => getPrettyError,
|
20742
|
+
getProvidedRuntime: () => getProvidedRuntime,
|
20741
20743
|
getScriptName: () => getScriptName,
|
20742
20744
|
getSpawnOptions: () => getSpawnOptions,
|
20743
20745
|
getSupportedNodeVersion: () => getSupportedNodeVersion,
|
@@ -22297,7 +22299,7 @@ function clearRelative(s) {
|
|
22297
22299
|
return s.replace(/(\n|^)\.\//g, "$1");
|
22298
22300
|
}
|
22299
22301
|
async function get_ignore_filter_default(downloadPath, rootDirectory) {
|
22300
|
-
const
|
22302
|
+
const readFile4 = async (p) => {
|
22301
22303
|
try {
|
22302
22304
|
return await import_fs_extra8.default.readFile(p, "utf8");
|
22303
22305
|
} catch (error) {
|
@@ -22320,7 +22322,7 @@ async function get_ignore_filter_default(downloadPath, rootDirectory) {
|
|
22320
22322
|
const ignoreContents = [];
|
22321
22323
|
try {
|
22322
22324
|
ignoreContents.push(
|
22323
|
-
...(await Promise.all([
|
22325
|
+
...(await Promise.all([readFile4(vercelIgnorePath), readFile4(nowIgnorePath)])).filter(Boolean)
|
22324
22326
|
);
|
22325
22327
|
} catch (error) {
|
22326
22328
|
if (isCodedError(error) && error.code === "ENOTDIR") {
|
@@ -22466,9 +22468,43 @@ var EdgeFunction = class {
|
|
22466
22468
|
this.assets = params.assets;
|
22467
22469
|
this.regions = params.regions;
|
22468
22470
|
this.framework = params.framework;
|
22471
|
+
this.environment = params.environment;
|
22469
22472
|
}
|
22470
22473
|
};
|
22471
22474
|
|
22475
|
+
// src/os.ts
|
22476
|
+
var import_fs_extra9 = __toESM(require_lib());
|
22477
|
+
var import_error_utils2 = __toESM(require_dist());
|
22478
|
+
async function getOsRelease() {
|
22479
|
+
try {
|
22480
|
+
const data = await (0, import_fs_extra9.readFile)("/etc/os-release", "utf8");
|
22481
|
+
return await parseOsRelease(data);
|
22482
|
+
} catch (err) {
|
22483
|
+
if ((0, import_error_utils2.isErrnoException)(err) && err.code === "ENOENT") {
|
22484
|
+
return null;
|
22485
|
+
}
|
22486
|
+
throw err;
|
22487
|
+
}
|
22488
|
+
}
|
22489
|
+
async function parseOsRelease(data) {
|
22490
|
+
const obj = {};
|
22491
|
+
for (const line of data.trim().split("\n")) {
|
22492
|
+
const m = /(?<key>.*)="(?<value>.*)"/.exec(line);
|
22493
|
+
if (!m?.groups) {
|
22494
|
+
continue;
|
22495
|
+
}
|
22496
|
+
obj[m.groups.key] = m.groups.value;
|
22497
|
+
}
|
22498
|
+
return obj;
|
22499
|
+
}
|
22500
|
+
async function getProvidedRuntime() {
|
22501
|
+
const os = await getOsRelease();
|
22502
|
+
if (!os) {
|
22503
|
+
return "provided.al2023";
|
22504
|
+
}
|
22505
|
+
return os.PRETTY_NAME === "Amazon Linux 2" ? "provided.al2" : "provided.al2023";
|
22506
|
+
}
|
22507
|
+
|
22472
22508
|
// src/should-serve.ts
|
22473
22509
|
var import_path9 = require("path");
|
22474
22510
|
var shouldServe = ({
|
@@ -22577,10 +22613,12 @@ var buildsSchema = {
|
|
22577
22613
|
getNodeBinPath,
|
22578
22614
|
getNodeBinPaths,
|
22579
22615
|
getNodeVersion,
|
22616
|
+
getOsRelease,
|
22580
22617
|
getPathForPackageManager,
|
22581
22618
|
getPlatformEnv,
|
22582
22619
|
getPrefixedEnvVars,
|
22583
22620
|
getPrettyError,
|
22621
|
+
getProvidedRuntime,
|
22584
22622
|
getScriptName,
|
22585
22623
|
getSpawnOptions,
|
22586
22624
|
getSupportedNodeVersion,
|
package/dist/lambda.d.ts
CHANGED
@@ -1,8 +1,5 @@
|
|
1
1
|
/// <reference types="node" />
|
2
|
-
import type {
|
3
|
-
interface Environment {
|
4
|
-
[key: string]: string;
|
5
|
-
}
|
2
|
+
import type { Config, Env, Files, FunctionFramework } from './types';
|
6
3
|
export type LambdaOptions = LambdaOptionsWithFiles | LambdaOptionsWithZipBuffer;
|
7
4
|
export type LambdaArchitecture = 'x86_64' | 'arm64';
|
8
5
|
export interface LambdaOptionsBase {
|
@@ -11,7 +8,7 @@ export interface LambdaOptionsBase {
|
|
11
8
|
architecture?: LambdaArchitecture;
|
12
9
|
memory?: number;
|
13
10
|
maxDuration?: number;
|
14
|
-
environment?:
|
11
|
+
environment?: Env;
|
15
12
|
allowQuery?: string[];
|
16
13
|
regions?: string[];
|
17
14
|
supportsMultiPayloads?: boolean;
|
@@ -55,7 +52,7 @@ export declare class Lambda {
|
|
55
52
|
architecture?: LambdaArchitecture;
|
56
53
|
memory?: number;
|
57
54
|
maxDuration?: number;
|
58
|
-
environment:
|
55
|
+
environment: Env;
|
59
56
|
allowQuery?: string[];
|
60
57
|
regions?: string[];
|
61
58
|
/**
|
package/dist/os.d.ts
ADDED
package/dist/os.js
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var os_exports = {};
|
20
|
+
__export(os_exports, {
|
21
|
+
getOsRelease: () => getOsRelease,
|
22
|
+
getProvidedRuntime: () => getProvidedRuntime,
|
23
|
+
parseOsRelease: () => parseOsRelease
|
24
|
+
});
|
25
|
+
module.exports = __toCommonJS(os_exports);
|
26
|
+
var import_fs_extra = require("fs-extra");
|
27
|
+
var import_error_utils = require("@vercel/error-utils");
|
28
|
+
async function getOsRelease() {
|
29
|
+
try {
|
30
|
+
const data = await (0, import_fs_extra.readFile)("/etc/os-release", "utf8");
|
31
|
+
return await parseOsRelease(data);
|
32
|
+
} catch (err) {
|
33
|
+
if ((0, import_error_utils.isErrnoException)(err) && err.code === "ENOENT") {
|
34
|
+
return null;
|
35
|
+
}
|
36
|
+
throw err;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
async function parseOsRelease(data) {
|
40
|
+
const obj = {};
|
41
|
+
for (const line of data.trim().split("\n")) {
|
42
|
+
const m = /(?<key>.*)="(?<value>.*)"/.exec(line);
|
43
|
+
if (!m?.groups) {
|
44
|
+
continue;
|
45
|
+
}
|
46
|
+
obj[m.groups.key] = m.groups.value;
|
47
|
+
}
|
48
|
+
return obj;
|
49
|
+
}
|
50
|
+
async function getProvidedRuntime() {
|
51
|
+
const os = await getOsRelease();
|
52
|
+
if (!os) {
|
53
|
+
return "provided.al2023";
|
54
|
+
}
|
55
|
+
return os.PRETTY_NAME === "Amazon Linux 2" ? "provided.al2" : "provided.al2023";
|
56
|
+
}
|
57
|
+
// Annotate the CommonJS export names for ESM import in node:
|
58
|
+
0 && (module.exports = {
|
59
|
+
getOsRelease,
|
60
|
+
getProvidedRuntime,
|
61
|
+
parseOsRelease
|
62
|
+
});
|