@vercel/build-utils 7.10.0 → 7.12.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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @vercel/build-utils
2
2
 
3
+ ## 7.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Trigger release ([#11465](https://github.com/vercel/vercel/pull/11465))
8
+
9
+ ## 7.11.0
10
+
11
+ ### Minor Changes
12
+
13
+ - Add `getOsRelease()` and `getProvidedRuntime()` functions ([#11370](https://github.com/vercel/vercel/pull/11370))
14
+
3
15
  ## 7.10.0
4
16
 
5
17
  ### Minor Changes
@@ -0,0 +1 @@
1
+ export declare function getInstalledPackageVersion(packageName: string, path?: string | string[]): Promise<string | undefined>;
@@ -0,0 +1,53 @@
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 get_installed_package_version_exports = {};
30
+ __export(get_installed_package_version_exports, {
31
+ getInstalledPackageVersion: () => getInstalledPackageVersion
32
+ });
33
+ module.exports = __toCommonJS(get_installed_package_version_exports);
34
+ var import_debug = __toESM(require("./debug"));
35
+ async function getInstalledPackageVersion(packageName, path) {
36
+ try {
37
+ const resolved = require.resolve(`${packageName}/package.json`, {
38
+ paths: path ? Array.isArray(path) ? path : [path] : [process.cwd()]
39
+ });
40
+ const version = require(resolved).version;
41
+ return version;
42
+ } catch (err) {
43
+ (0, import_debug.default)(
44
+ `Could not resolve package "${packageName}". Package is not installed.`,
45
+ err
46
+ );
47
+ return void 0;
48
+ }
49
+ }
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ getInstalledPackageVersion
53
+ });
package/dist/index.d.ts CHANGED
@@ -22,8 +22,10 @@ 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';
28
29
  export * from './errors';
29
30
  export { NODE_VERSIONS } from './fs/node-version';
31
+ export { getInstalledPackageVersion } from './get-installed-package-version';
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 = readFile3;
2897
- function readFile3(path7, options, cb) {
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 readFile3 = universalify.fromPromise(_readFile);
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: readFile3,
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: () => isErrnoException2,
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 isErrnoException2 = (error) => {
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 isErrnoException2(v) && "spawnargs" in v;
20413
+ return isErrnoException3(v) && "spawnargs" in v;
20414
20414
  }
20415
20415
  }
20416
20416
  });
@@ -20729,15 +20729,18 @@ __export(src_exports, {
20729
20729
  getDiscontinuedNodeVersions: () => getDiscontinuedNodeVersions,
20730
20730
  getEnvForPackageManager: () => getEnvForPackageManager,
20731
20731
  getIgnoreFilter: () => get_ignore_filter_default,
20732
+ getInstalledPackageVersion: () => getInstalledPackageVersion,
20732
20733
  getLambdaOptionsFromFunction: () => getLambdaOptionsFromFunction,
20733
20734
  getLatestNodeVersion: () => getLatestNodeVersion,
20734
20735
  getNodeBinPath: () => getNodeBinPath,
20735
20736
  getNodeBinPaths: () => getNodeBinPaths,
20736
20737
  getNodeVersion: () => getNodeVersion,
20738
+ getOsRelease: () => getOsRelease,
20737
20739
  getPathForPackageManager: () => getPathForPackageManager,
20738
20740
  getPlatformEnv: () => getPlatformEnv,
20739
20741
  getPrefixedEnvVars: () => getPrefixedEnvVars,
20740
20742
  getPrettyError: () => getPrettyError,
20743
+ getProvidedRuntime: () => getProvidedRuntime,
20741
20744
  getScriptName: () => getScriptName,
20742
20745
  getSpawnOptions: () => getSpawnOptions,
20743
20746
  getSupportedNodeVersion: () => getSupportedNodeVersion,
@@ -22297,7 +22300,7 @@ function clearRelative(s) {
22297
22300
  return s.replace(/(\n|^)\.\//g, "$1");
22298
22301
  }
22299
22302
  async function get_ignore_filter_default(downloadPath, rootDirectory) {
22300
- const readFile3 = async (p) => {
22303
+ const readFile4 = async (p) => {
22301
22304
  try {
22302
22305
  return await import_fs_extra8.default.readFile(p, "utf8");
22303
22306
  } catch (error) {
@@ -22320,7 +22323,7 @@ async function get_ignore_filter_default(downloadPath, rootDirectory) {
22320
22323
  const ignoreContents = [];
22321
22324
  try {
22322
22325
  ignoreContents.push(
22323
- ...(await Promise.all([readFile3(vercelIgnorePath), readFile3(nowIgnorePath)])).filter(Boolean)
22326
+ ...(await Promise.all([readFile4(vercelIgnorePath), readFile4(nowIgnorePath)])).filter(Boolean)
22324
22327
  );
22325
22328
  } catch (error) {
22326
22329
  if (isCodedError(error) && error.code === "ENOTDIR") {
@@ -22470,6 +22473,39 @@ var EdgeFunction = class {
22470
22473
  }
22471
22474
  };
22472
22475
 
22476
+ // src/os.ts
22477
+ var import_fs_extra9 = __toESM(require_lib());
22478
+ var import_error_utils2 = __toESM(require_dist());
22479
+ async function getOsRelease() {
22480
+ try {
22481
+ const data = await (0, import_fs_extra9.readFile)("/etc/os-release", "utf8");
22482
+ return await parseOsRelease(data);
22483
+ } catch (err) {
22484
+ if ((0, import_error_utils2.isErrnoException)(err) && err.code === "ENOENT") {
22485
+ return null;
22486
+ }
22487
+ throw err;
22488
+ }
22489
+ }
22490
+ async function parseOsRelease(data) {
22491
+ const obj = {};
22492
+ for (const line of data.trim().split("\n")) {
22493
+ const m = /(?<key>.*)="(?<value>.*)"/.exec(line);
22494
+ if (!m?.groups) {
22495
+ continue;
22496
+ }
22497
+ obj[m.groups.key] = m.groups.value;
22498
+ }
22499
+ return obj;
22500
+ }
22501
+ async function getProvidedRuntime() {
22502
+ const os = await getOsRelease();
22503
+ if (!os) {
22504
+ return "provided.al2023";
22505
+ }
22506
+ return os.PRETTY_NAME === "Amazon Linux 2" ? "provided.al2" : "provided.al2023";
22507
+ }
22508
+
22473
22509
  // src/should-serve.ts
22474
22510
  var import_path9 = require("path");
22475
22511
  var shouldServe = ({
@@ -22551,6 +22587,23 @@ var buildsSchema = {
22551
22587
  }
22552
22588
  }
22553
22589
  };
22590
+
22591
+ // src/get-installed-package-version.ts
22592
+ async function getInstalledPackageVersion(packageName, path7) {
22593
+ try {
22594
+ const resolved = require.resolve(`${packageName}/package.json`, {
22595
+ paths: path7 ? Array.isArray(path7) ? path7 : [path7] : [process.cwd()]
22596
+ });
22597
+ const version = require(resolved).version;
22598
+ return version;
22599
+ } catch (err) {
22600
+ debug(
22601
+ `Could not resolve package "${packageName}". Package is not installed.`,
22602
+ err
22603
+ );
22604
+ return void 0;
22605
+ }
22606
+ }
22554
22607
  // Annotate the CommonJS export names for ESM import in node:
22555
22608
  0 && (module.exports = {
22556
22609
  EdgeFunction,
@@ -22573,15 +22626,18 @@ var buildsSchema = {
22573
22626
  getDiscontinuedNodeVersions,
22574
22627
  getEnvForPackageManager,
22575
22628
  getIgnoreFilter,
22629
+ getInstalledPackageVersion,
22576
22630
  getLambdaOptionsFromFunction,
22577
22631
  getLatestNodeVersion,
22578
22632
  getNodeBinPath,
22579
22633
  getNodeBinPaths,
22580
22634
  getNodeVersion,
22635
+ getOsRelease,
22581
22636
  getPathForPackageManager,
22582
22637
  getPlatformEnv,
22583
22638
  getPrefixedEnvVars,
22584
22639
  getPrettyError,
22640
+ getProvidedRuntime,
22585
22641
  getScriptName,
22586
22642
  getSpawnOptions,
22587
22643
  getSupportedNodeVersion,
package/dist/os.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export declare function getOsRelease(): Promise<Record<string, string> | null>;
2
+ export declare function parseOsRelease(data: string): Promise<Record<string, string>>;
3
+ export declare function getProvidedRuntime(): Promise<"provided.al2023" | "provided.al2">;
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
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/build-utils",
3
- "version": "7.10.0",
3
+ "version": "7.12.0",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.js",