@vercel/build-utils 8.4.11 → 8.5.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
+ ## 8.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Remove `VERCEL_ALLOW_NODEJS22` env var check ([#12614](https://github.com/vercel/vercel/pull/12614))
8
+
9
+ ## 8.4.12
10
+
11
+ ### Patch Changes
12
+
13
+ - Support allowHeader from Next.js for filtering request headers during revalidation ([#12420](https://github.com/vercel/vercel/pull/12420))
14
+
3
15
  ## 8.4.11
4
16
 
5
17
  ### Patch Changes
@@ -40,6 +40,7 @@ var import_semver = require("semver");
40
40
  var import_errors = require("../errors");
41
41
  var import_debug = __toESM(require("../debug"));
42
42
  const NODE_VERSIONS = [
43
+ { major: 22, range: "22.x", runtime: "nodejs22.x" },
43
44
  { major: 20, range: "20.x", runtime: "nodejs20.x" },
44
45
  { major: 18, range: "18.x", runtime: "nodejs18.x" },
45
46
  {
@@ -74,12 +75,6 @@ const NODE_VERSIONS = [
74
75
  }
75
76
  ];
76
77
  function getOptions() {
77
- if (process.env.VERCEL_ALLOW_NODEJS22 === "1") {
78
- return [
79
- { major: 22, range: "22.x", runtime: "nodejs22.x" },
80
- ...NODE_VERSIONS
81
- ];
82
- }
83
78
  return NODE_VERSIONS;
84
79
  }
85
80
  function isNodeVersionAvailable(version) {
package/dist/index.js CHANGED
@@ -24130,6 +24130,7 @@ var Prerender = class {
24130
24130
  group,
24131
24131
  bypassToken,
24132
24132
  allowQuery,
24133
+ allowHeader,
24133
24134
  initialHeaders,
24134
24135
  initialStatus,
24135
24136
  passQuery,
@@ -24220,6 +24221,19 @@ var Prerender = class {
24220
24221
  }
24221
24222
  this.allowQuery = allowQuery;
24222
24223
  }
24224
+ if (allowHeader !== void 0) {
24225
+ if (!Array.isArray(allowHeader)) {
24226
+ throw new Error(
24227
+ "The `allowHeader` argument for `Prerender` must be Array."
24228
+ );
24229
+ }
24230
+ if (!allowHeader.every((q) => typeof q === "string")) {
24231
+ throw new Error(
24232
+ "The `allowHeader` argument for `Prerender` must be Array of strings."
24233
+ );
24234
+ }
24235
+ this.allowHeader = allowHeader;
24236
+ }
24223
24237
  if (experimentalStreamingLambdaPath !== void 0) {
24224
24238
  if (typeof experimentalStreamingLambdaPath !== "string") {
24225
24239
  throw new Error(
@@ -24370,6 +24384,7 @@ var import_util2 = require("util");
24370
24384
  var import_fs = require("fs");
24371
24385
  var import_semver = __toESM(require_semver2());
24372
24386
  var NODE_VERSIONS = [
24387
+ { major: 22, range: "22.x", runtime: "nodejs22.x" },
24373
24388
  { major: 20, range: "20.x", runtime: "nodejs20.x" },
24374
24389
  { major: 18, range: "18.x", runtime: "nodejs18.x" },
24375
24390
  {
@@ -24404,12 +24419,6 @@ var NODE_VERSIONS = [
24404
24419
  }
24405
24420
  ];
24406
24421
  function getOptions() {
24407
- if (process.env.VERCEL_ALLOW_NODEJS22 === "1") {
24408
- return [
24409
- { major: 22, range: "22.x", runtime: "nodejs22.x" },
24410
- ...NODE_VERSIONS
24411
- ];
24412
- }
24413
24422
  return NODE_VERSIONS;
24414
24423
  }
24415
24424
  function isNodeVersionAvailable(version) {
@@ -7,6 +7,7 @@ interface PrerenderOptions {
7
7
  group?: number;
8
8
  bypassToken?: string | null;
9
9
  allowQuery?: string[];
10
+ allowHeader?: string[];
10
11
  initialHeaders?: Record<string, string>;
11
12
  initialStatus?: number;
12
13
  passQuery?: boolean;
@@ -23,6 +24,7 @@ export declare class Prerender {
23
24
  group?: number;
24
25
  bypassToken: string | null;
25
26
  allowQuery?: string[];
27
+ allowHeader?: string[];
26
28
  initialHeaders?: Record<string, string>;
27
29
  initialStatus?: number;
28
30
  passQuery?: boolean;
@@ -30,6 +32,6 @@ export declare class Prerender {
30
32
  experimentalBypassFor?: HasField;
31
33
  experimentalStreamingLambdaPath?: string;
32
34
  chain?: Chain;
33
- constructor({ expiration, lambda, fallback, group, bypassToken, allowQuery, initialHeaders, initialStatus, passQuery, sourcePath, experimentalBypassFor, experimentalStreamingLambdaPath, chain, }: PrerenderOptions);
35
+ constructor({ expiration, lambda, fallback, group, bypassToken, allowQuery, allowHeader, initialHeaders, initialStatus, passQuery, sourcePath, experimentalBypassFor, experimentalStreamingLambdaPath, chain, }: PrerenderOptions);
34
36
  }
35
37
  export {};
package/dist/prerender.js CHANGED
@@ -29,6 +29,7 @@ class Prerender {
29
29
  group,
30
30
  bypassToken,
31
31
  allowQuery,
32
+ allowHeader,
32
33
  initialHeaders,
33
34
  initialStatus,
34
35
  passQuery,
@@ -119,6 +120,19 @@ class Prerender {
119
120
  }
120
121
  this.allowQuery = allowQuery;
121
122
  }
123
+ if (allowHeader !== void 0) {
124
+ if (!Array.isArray(allowHeader)) {
125
+ throw new Error(
126
+ "The `allowHeader` argument for `Prerender` must be Array."
127
+ );
128
+ }
129
+ if (!allowHeader.every((q) => typeof q === "string")) {
130
+ throw new Error(
131
+ "The `allowHeader` argument for `Prerender` must be Array of strings."
132
+ );
133
+ }
134
+ this.allowHeader = allowHeader;
135
+ }
122
136
  if (experimentalStreamingLambdaPath !== void 0) {
123
137
  if (typeof experimentalStreamingLambdaPath !== "string") {
124
138
  throw new Error(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/build-utils",
3
- "version": "8.4.11",
3
+ "version": "8.5.0",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.js",
@@ -26,7 +26,7 @@
26
26
  "@types/node-fetch": "^2.1.6",
27
27
  "@types/semver": "6.0.0",
28
28
  "@types/yazl": "2.4.2",
29
- "@vercel/error-utils": "2.0.2",
29
+ "@vercel/error-utils": "2.0.3",
30
30
  "aggregate-error": "3.0.1",
31
31
  "async-retry": "1.2.3",
32
32
  "async-sema": "2.1.4",
@@ -40,18 +40,21 @@
40
40
  "jest-junit": "16.0.0",
41
41
  "js-yaml": "3.13.1",
42
42
  "minimatch": "3.1.2",
43
+ "ms": "2.1.3",
43
44
  "multistream": "2.1.1",
44
45
  "node-fetch": "2.6.7",
45
46
  "semver": "6.3.1",
46
47
  "typescript": "4.9.5",
47
48
  "yazl": "2.5.1",
49
+ "vitest": "2.0.1",
48
50
  "json5": "2.2.3"
49
51
  },
50
52
  "scripts": {
51
53
  "build": "node build.mjs",
52
- "test": "jest --reporters=default --reporters=jest-junit --env node --verbose --runInBand --bail",
53
- "test-unit": "pnpm test test/unit.*test.*",
54
- "test-e2e": "pnpm test test/integration.test.ts",
54
+ "test": "jest --reporters=default --reporters=jest-junit --env node --verbose --bail --runInBand",
55
+ "vitest-run": "vitest -c ../../vitest.config.mts",
56
+ "vitest-unit": "glob --absolute 'test/unit.*.test.ts'",
57
+ "vitest-e2e": "glob --absolute 'test/integration-*.test.ts'",
55
58
  "type-check": "tsc --noEmit"
56
59
  }
57
60
  }