@vercel/next 4.4.0 → 4.4.2

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 +42 -14
  2. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -1185,9 +1185,9 @@ var require_find_up = __commonJS({
1185
1185
  }
1186
1186
  });
1187
1187
 
1188
- // ../../node_modules/.pnpm/universalify@2.0.0/node_modules/universalify/index.js
1188
+ // ../../node_modules/.pnpm/universalify@2.0.1/node_modules/universalify/index.js
1189
1189
  var require_universalify = __commonJS({
1190
- "../../node_modules/.pnpm/universalify@2.0.0/node_modules/universalify/index.js"(exports) {
1190
+ "../../node_modules/.pnpm/universalify@2.0.1/node_modules/universalify/index.js"(exports) {
1191
1191
  "use strict";
1192
1192
  exports.fromCallback = function(fn) {
1193
1193
  return Object.defineProperty(function(...args) {
@@ -1195,11 +1195,8 @@ var require_universalify = __commonJS({
1195
1195
  fn.apply(this, args);
1196
1196
  else {
1197
1197
  return new Promise((resolve, reject) => {
1198
- fn.call(
1199
- this,
1200
- ...args,
1201
- (err, res) => err != null ? reject(err) : resolve(res)
1202
- );
1198
+ args.push((err, res) => err != null ? reject(err) : resolve(res));
1199
+ fn.apply(this, args);
1203
1200
  });
1204
1201
  }
1205
1202
  }, "name", { value: fn.name });
@@ -1209,8 +1206,10 @@ var require_universalify = __commonJS({
1209
1206
  const cb = args[args.length - 1];
1210
1207
  if (typeof cb !== "function")
1211
1208
  return fn.apply(this, args);
1212
- else
1213
- fn.apply(this, args.slice(0, -1)).then((r) => cb(null, r), cb);
1209
+ else {
1210
+ args.pop();
1211
+ fn.apply(this, args).then((r) => cb(null, r), cb);
1212
+ }
1214
1213
  }, "name", { value: fn.name });
1215
1214
  };
1216
1215
  }
@@ -10622,6 +10621,7 @@ function getImagesConfig(imagesManifest) {
10622
10621
  return imagesManifest?.images?.loader === "default" && imagesManifest.images?.unoptimized !== true ? {
10623
10622
  domains: imagesManifest.images.domains,
10624
10623
  sizes: imagesManifest.images.sizes,
10624
+ qualities: imagesManifest.images.qualities,
10625
10625
  remotePatterns: imagesManifest.images.remotePatterns,
10626
10626
  localPatterns: imagesManifest.images.localPatterns,
10627
10627
  minimumCacheTTL: imagesManifest.images.minimumCacheTTL,
@@ -11200,7 +11200,9 @@ async function getPrerenderManifest(entryPath, outputDirectory) {
11200
11200
  let fallbackHeaders;
11201
11201
  let renderingMode = "STATIC" /* STATIC */;
11202
11202
  let fallbackRevalidate;
11203
+ let fallbackRootParams;
11203
11204
  let allowHeader;
11205
+ let fallbackSourceRoute;
11204
11206
  if (manifest.version === 4) {
11205
11207
  experimentalBypassFor = manifest.dynamicRoutes[lazyRoute].experimentalBypassFor;
11206
11208
  prefetchDataRoute = manifest.dynamicRoutes[lazyRoute].prefetchDataRoute;
@@ -11211,7 +11213,9 @@ async function getPrerenderManifest(entryPath, outputDirectory) {
11211
11213
  // using the `experimentalPPR` flag.
11212
11214
  (manifest.dynamicRoutes[lazyRoute].experimentalPPR ? "PARTIALLY_STATIC" /* PARTIALLY_STATIC */ : "STATIC" /* STATIC */);
11213
11215
  fallbackRevalidate = manifest.dynamicRoutes[lazyRoute].fallbackRevalidate;
11216
+ fallbackRootParams = manifest.dynamicRoutes[lazyRoute].fallbackRootParams;
11214
11217
  allowHeader = manifest.dynamicRoutes[lazyRoute].allowHeader;
11218
+ fallbackSourceRoute = manifest.dynamicRoutes[lazyRoute].fallbackSourceRoute;
11215
11219
  }
11216
11220
  if (typeof fallback === "string") {
11217
11221
  ret.fallbackRoutes[lazyRoute] = {
@@ -11225,6 +11229,8 @@ async function getPrerenderManifest(entryPath, outputDirectory) {
11225
11229
  prefetchDataRoute,
11226
11230
  prefetchDataRouteRegex,
11227
11231
  fallbackRevalidate,
11232
+ fallbackRootParams,
11233
+ fallbackSourceRoute,
11228
11234
  renderingMode,
11229
11235
  allowHeader
11230
11236
  };
@@ -11737,13 +11743,21 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
11737
11743
  if (appDir && renderingMode === "PARTIALLY_STATIC" /* PARTIALLY_STATIC */) {
11738
11744
  isAppPathRoute = true;
11739
11745
  if (isFallback) {
11740
- const { fallbackStatus, fallbackHeaders, fallbackRevalidate } = prerenderManifest.fallbackRoutes[routeKey];
11746
+ const {
11747
+ fallbackStatus,
11748
+ fallbackHeaders,
11749
+ fallbackRevalidate,
11750
+ fallbackSourceRoute
11751
+ } = prerenderManifest.fallbackRoutes[routeKey];
11741
11752
  if (fallbackStatus) {
11742
11753
  initialStatus = fallbackStatus;
11743
11754
  }
11744
11755
  if (fallbackHeaders) {
11745
11756
  initialHeaders = fallbackHeaders;
11746
11757
  }
11758
+ if (fallbackSourceRoute) {
11759
+ srcRoute = fallbackSourceRoute;
11760
+ }
11747
11761
  if (renderingMode === "PARTIALLY_STATIC" /* PARTIALLY_STATIC */ && typeof fallbackRevalidate !== "undefined") {
11748
11762
  initialRevalidate = fallbackRevalidate;
11749
11763
  }
@@ -11755,17 +11769,24 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
11755
11769
  const isOmittedOrNotFound = isOmitted || isNotFound;
11756
11770
  let htmlFsRef = null;
11757
11771
  let postponedPrerender;
11772
+ let didPostpone = false;
11758
11773
  if (renderingMode === "PARTIALLY_STATIC" /* PARTIALLY_STATIC */ && appDir) {
11759
11774
  const htmlPath = import_path2.default.join(appDir, `${routeFileNoExt}.html`);
11760
11775
  const metaPath = import_path2.default.join(appDir, `${routeFileNoExt}.meta`);
11761
11776
  if (import_fs_extra3.default.existsSync(htmlPath) && import_fs_extra3.default.existsSync(metaPath)) {
11762
11777
  const meta = JSON.parse(await import_fs_extra3.default.readFile(metaPath, "utf8"));
11763
11778
  if ("postponed" in meta && typeof meta.postponed === "string") {
11779
+ didPostpone = true;
11764
11780
  postponedPrerender = meta.postponed;
11765
11781
  initialHeaders ??= {};
11766
11782
  initialHeaders["content-type"] = `application/x-nextjs-pre-render; state-length=${meta.postponed.length}`;
11767
11783
  const html = await import_fs_extra3.default.readFileSync(htmlPath, "utf8");
11768
11784
  postponedPrerender += html;
11785
+ } else {
11786
+ initialHeaders ??= {};
11787
+ initialHeaders["content-type"] = "text/html; charset=utf-8";
11788
+ const html = await import_fs_extra3.default.readFileSync(htmlPath, "utf8");
11789
+ postponedPrerender = html;
11769
11790
  }
11770
11791
  }
11771
11792
  if (!dataRoute?.endsWith(".rsc")) {
@@ -11982,7 +12003,8 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
11982
12003
  }
11983
12004
  let htmlAllowQuery = allowQuery;
11984
12005
  if (renderingMode === "PARTIALLY_STATIC" /* PARTIALLY_STATIC */ && isFallback) {
11985
- htmlAllowQuery = [];
12006
+ const { fallbackRootParams } = prerenderManifest.fallbackRoutes[routeKey];
12007
+ htmlAllowQuery = fallbackRootParams ?? [];
11986
12008
  }
11987
12009
  prerenders[outputPathPage] = new import_build_utils.Prerender({
11988
12010
  expiration: initialRevalidate,
@@ -12043,7 +12065,7 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
12043
12065
  ...isAppPathRoute ? {
12044
12066
  "content-type": rscContentTypeHeader
12045
12067
  } : {},
12046
- ...postponedPrerender && rscDidPostponeHeader && !isFallback ? { [rscDidPostponeHeader]: "1" } : {}
12068
+ ...didPostpone && rscDidPostponeHeader && !isFallback ? { [rscDidPostponeHeader]: "1" } : {}
12047
12069
  }
12048
12070
  } : {}
12049
12071
  });
@@ -14677,7 +14699,7 @@ ${JSON.stringify(
14677
14699
  ...denormalizeNextDataRoute(),
14678
14700
  ...isNextDataServerResolving ? dataRoutes.filter((route) => {
14679
14701
  const { pathname } = new URL(route.dest || "/", "http://n");
14680
- return !isDynamicRoute(pathname.replace(/\.json$/, ""));
14702
+ return !isDynamicRoute(pathname.replace(/(\\)?\.json$/, ""));
14681
14703
  }) : [],
14682
14704
  // /_next/data routes for getServerProps/getStaticProps pages
14683
14705
  ...isNextDataServerResolving ? (
@@ -15403,6 +15425,12 @@ More info: http://err.sh/vercel/vercel/next-functions-config-optimized-lambdas`
15403
15425
  message: 'image-manifest.json "images.minimumCacheTTL" must be an integer. Contact support if this continues to happen.'
15404
15426
  });
15405
15427
  }
15428
+ if (images.qualities && !Array.isArray(images.qualities)) {
15429
+ throw new import_build_utils3.NowBuildError({
15430
+ code: "NEXT_IMAGES_QUALITIES",
15431
+ message: 'image-manifest.json "images.qualities" must be an array. Contact support if this continues to happen.'
15432
+ });
15433
+ }
15406
15434
  if (typeof images.dangerouslyAllowSVG !== "undefined" && typeof images.dangerouslyAllowSVG !== "boolean") {
15407
15435
  throw new import_build_utils3.NowBuildError({
15408
15436
  code: "NEXT_IMAGES_DANGEROUSLYALLOWSVG",
@@ -15777,7 +15805,7 @@ More info: http://err.sh/vercel/vercel/next-functions-config-optimized-lambdas`
15777
15805
  );
15778
15806
  }
15779
15807
  if (dataRoute.page === "/") {
15780
- route.src = route.src.replace(/\/index\.json/, ".json");
15808
+ route.src = route.src.replace(/\/index(\\)?\.json/, ".json");
15781
15809
  }
15782
15810
  if (ssgDataRoute) {
15783
15811
  route.dest = route.dest.replace(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/next",
3
- "version": "4.4.0",
3
+ "version": "4.4.2",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/index",
6
6
  "homepage": "https://vercel.com/docs/runtimes#official-runtimes/next-js",
@@ -13,7 +13,7 @@
13
13
  "dist"
14
14
  ],
15
15
  "dependencies": {
16
- "@vercel/nft": "0.27.3"
16
+ "@vercel/nft": "0.27.10"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@types/aws-lambda": "8.10.19",
@@ -30,8 +30,8 @@
30
30
  "@types/semver": "6.0.0",
31
31
  "@types/text-table": "0.2.1",
32
32
  "@types/webpack-sources": "3.2.0",
33
- "@vercel/build-utils": "8.6.0",
34
- "@vercel/routing-utils": "3.1.0",
33
+ "@vercel/build-utils": "9.0.1",
34
+ "@vercel/routing-utils": "5.0.0",
35
35
  "async-sema": "3.0.1",
36
36
  "buffer-crc32": "0.2.13",
37
37
  "bytes": "3.1.2",