@vercel/next 4.7.2 → 4.7.4

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 +34 -10
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -11641,6 +11641,7 @@ async function getPrerenderManifest(entryPath, outputDirectory) {
11641
11641
  }
11642
11642
  routes.forEach((route) => {
11643
11643
  const { initialRevalidateSeconds, dataRoute, srcRoute } = manifest.routes[route];
11644
+ let initialExpireSeconds;
11644
11645
  let initialStatus;
11645
11646
  let initialHeaders;
11646
11647
  let experimentalBypassFor;
@@ -11648,6 +11649,7 @@ async function getPrerenderManifest(entryPath, outputDirectory) {
11648
11649
  let allowHeader;
11649
11650
  let renderingMode;
11650
11651
  if (manifest.version === 4) {
11652
+ initialExpireSeconds = manifest.routes[route].initialExpireSeconds;
11651
11653
  initialStatus = manifest.routes[route].initialStatus;
11652
11654
  initialHeaders = manifest.routes[route].initialHeaders;
11653
11655
  experimentalBypassFor = manifest.routes[route].experimentalBypassFor;
@@ -11660,6 +11662,7 @@ async function getPrerenderManifest(entryPath, outputDirectory) {
11660
11662
  }
11661
11663
  ret.staticRoutes[route] = {
11662
11664
  initialRevalidate: initialRevalidateSeconds === false ? false : Math.max(1, initialRevalidateSeconds),
11665
+ initialExpire: initialExpireSeconds,
11663
11666
  dataRoute,
11664
11667
  prefetchDataRoute,
11665
11668
  srcRoute,
@@ -11679,6 +11682,7 @@ async function getPrerenderManifest(entryPath, outputDirectory) {
11679
11682
  let fallbackHeaders;
11680
11683
  let renderingMode = "STATIC" /* STATIC */;
11681
11684
  let fallbackRevalidate;
11685
+ let fallbackExpire;
11682
11686
  let fallbackRootParams;
11683
11687
  let allowHeader;
11684
11688
  let fallbackSourceRoute;
@@ -11692,6 +11696,7 @@ async function getPrerenderManifest(entryPath, outputDirectory) {
11692
11696
  // using the `experimentalPPR` flag.
11693
11697
  (manifest.dynamicRoutes[lazyRoute].experimentalPPR ? "PARTIALLY_STATIC" /* PARTIALLY_STATIC */ : "STATIC" /* STATIC */);
11694
11698
  fallbackRevalidate = manifest.dynamicRoutes[lazyRoute].fallbackRevalidate;
11699
+ fallbackExpire = manifest.dynamicRoutes[lazyRoute].fallbackExpire;
11695
11700
  fallbackRootParams = manifest.dynamicRoutes[lazyRoute].fallbackRootParams;
11696
11701
  allowHeader = manifest.dynamicRoutes[lazyRoute].allowHeader;
11697
11702
  fallbackSourceRoute = manifest.dynamicRoutes[lazyRoute].fallbackSourceRoute;
@@ -11708,6 +11713,7 @@ async function getPrerenderManifest(entryPath, outputDirectory) {
11708
11713
  prefetchDataRoute,
11709
11714
  prefetchDataRouteRegex,
11710
11715
  fallbackRevalidate,
11716
+ fallbackExpire,
11711
11717
  fallbackRootParams,
11712
11718
  fallbackSourceRoute,
11713
11719
  renderingMode,
@@ -12141,7 +12147,8 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
12141
12147
  isCorrectNotFoundRoutes,
12142
12148
  isEmptyAllowQueryForPrendered,
12143
12149
  isAppPPREnabled,
12144
- isAppClientSegmentCacheEnabled
12150
+ isAppClientSegmentCacheEnabled,
12151
+ shouldSkipVaryHeader
12145
12152
  } = prerenderRouteArgs;
12146
12153
  if (isBlocking && isFallback) {
12147
12154
  throw new import_build_utils.NowBuildError({
@@ -12177,6 +12184,7 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
12177
12184
  }
12178
12185
  const isNotFound = prerenderManifest.notFoundRoutes.includes(routeKey);
12179
12186
  let initialRevalidate;
12187
+ let initialExpire;
12180
12188
  let srcRoute;
12181
12189
  let dataRoute;
12182
12190
  let prefetchDataRoute;
@@ -12212,6 +12220,7 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
12212
12220
  const pr = prerenderManifest.staticRoutes[routeKey];
12213
12221
  ({
12214
12222
  initialRevalidate,
12223
+ initialExpire,
12215
12224
  srcRoute,
12216
12225
  dataRoute,
12217
12226
  initialHeaders,
@@ -12230,6 +12239,7 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
12230
12239
  fallbackStatus,
12231
12240
  fallbackHeaders,
12232
12241
  fallbackRevalidate,
12242
+ fallbackExpire,
12233
12243
  fallbackSourceRoute
12234
12244
  } = prerenderManifest.fallbackRoutes[routeKey];
12235
12245
  if (fallbackStatus) {
@@ -12243,6 +12253,7 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
12243
12253
  }
12244
12254
  if (renderingMode === "PARTIALLY_STATIC" /* PARTIALLY_STATIC */ && typeof fallbackRevalidate !== "undefined") {
12245
12255
  initialRevalidate = fallbackRevalidate;
12256
+ initialExpire = fallbackExpire;
12246
12257
  }
12247
12258
  }
12248
12259
  }
@@ -12491,6 +12502,7 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
12491
12502
  }
12492
12503
  prerenders[outputPathPage] = new import_build_utils.Prerender({
12493
12504
  expiration: initialRevalidate,
12505
+ staleExpiration: initialExpire,
12494
12506
  lambda,
12495
12507
  allowQuery: htmlAllowQuery,
12496
12508
  fallback: htmlFsRef,
@@ -12509,7 +12521,7 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
12509
12521
  ...rscEnabled ? {
12510
12522
  initialHeaders: {
12511
12523
  ...initialHeaders,
12512
- vary: rscVaryHeader
12524
+ ...shouldSkipVaryHeader ? {} : { vary: rscVaryHeader }
12513
12525
  }
12514
12526
  } : {}
12515
12527
  });
@@ -12526,6 +12538,7 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
12526
12538
  }
12527
12539
  const prerender = new import_build_utils.Prerender({
12528
12540
  expiration: initialRevalidate,
12541
+ staleExpiration: initialExpire,
12529
12542
  lambda,
12530
12543
  allowQuery,
12531
12544
  fallback: jsonFsRef,
@@ -12539,7 +12552,7 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
12539
12552
  ...rscEnabled ? {
12540
12553
  initialHeaders: {
12541
12554
  ...initialHeaders,
12542
- vary: rscVaryHeader,
12555
+ ...shouldSkipVaryHeader ? {} : { vary: rscVaryHeader },
12543
12556
  ...(outputPathData || outputPathPrefetchData)?.endsWith(
12544
12557
  ".json"
12545
12558
  ) ? {
@@ -12585,6 +12598,7 @@ var onPrerenderRoute = (prerenderRouteArgs) => async (routeKey, {
12585
12598
  }
12586
12599
  prerenders[outputSegmentPath] = new import_build_utils.Prerender({
12587
12600
  expiration: initialRevalidate,
12601
+ staleExpiration: initialExpire,
12588
12602
  lambda,
12589
12603
  allowQuery,
12590
12604
  fallback,
@@ -13784,6 +13798,7 @@ var PRELOAD_CHUNKS = {
13784
13798
  };
13785
13799
  var BUNDLED_SERVER_NEXT_VERSION = "v13.5.4";
13786
13800
  var BUNDLED_SERVER_NEXT_PATH = "next/dist/compiled/next-server/server.runtime.prod.js";
13801
+ var NEXT_VARY_INERT_VERSION = "v13.4.6";
13787
13802
  async function serverBuild({
13788
13803
  dynamicPages,
13789
13804
  pagesDir,
@@ -13850,6 +13865,7 @@ async function serverBuild({
13850
13865
  nextVersion,
13851
13866
  EMPTY_ALLOW_QUERY_FOR_PRERENDERED_VERSION
13852
13867
  );
13868
+ const shouldSkipVaryHeader = import_semver3.default.gte(nextVersion, NEXT_VARY_INERT_VERSION);
13853
13869
  const projectDir = requiredServerFilesManifest.relativeAppDir ? import_path4.default.join(baseDir, requiredServerFilesManifest.relativeAppDir) : requiredServerFilesManifest.appDir || entryPath;
13854
13870
  const inversedAppPathManifest = {};
13855
13871
  if (appPathRoutesManifest) {
@@ -14813,7 +14829,8 @@ ${JSON.stringify(
14813
14829
  isCorrectNotFoundRoutes,
14814
14830
  isEmptyAllowQueryForPrendered,
14815
14831
  isAppPPREnabled,
14816
- isAppClientSegmentCacheEnabled
14832
+ isAppClientSegmentCacheEnabled,
14833
+ shouldSkipVaryHeader
14817
14834
  });
14818
14835
  await Promise.all(
14819
14836
  Object.keys(prerenderManifest.staticRoutes).map(
@@ -15363,7 +15380,7 @@ ${JSON.stringify(
15363
15380
  entryDirectory,
15364
15381
  `/__index${RSC_PREFETCH_SUFFIX}`
15365
15382
  ),
15366
- headers: { vary: rscVaryHeader },
15383
+ headers: shouldSkipVaryHeader ? void 0 : { vary: rscVaryHeader },
15367
15384
  continue: true,
15368
15385
  override: true
15369
15386
  },
@@ -15384,7 +15401,7 @@ ${JSON.stringify(
15384
15401
  entryDirectory,
15385
15402
  `/$1${RSC_PREFETCH_SUFFIX}`
15386
15403
  ),
15387
- headers: { vary: rscVaryHeader },
15404
+ headers: shouldSkipVaryHeader ? void 0 : { vary: rscVaryHeader },
15388
15405
  continue: true,
15389
15406
  override: true
15390
15407
  }
@@ -15398,7 +15415,7 @@ ${JSON.stringify(
15398
15415
  }
15399
15416
  ],
15400
15417
  dest: import_path4.default.posix.join("/", entryDirectory, "/index.rsc"),
15401
- headers: { vary: rscVaryHeader },
15418
+ headers: shouldSkipVaryHeader ? void 0 : { vary: rscVaryHeader },
15402
15419
  continue: true,
15403
15420
  override: true
15404
15421
  },
@@ -15415,7 +15432,7 @@ ${JSON.stringify(
15415
15432
  }
15416
15433
  ],
15417
15434
  dest: import_path4.default.posix.join("/", entryDirectory, "/$1.rsc"),
15418
- headers: { vary: rscVaryHeader },
15435
+ headers: shouldSkipVaryHeader ? void 0 : { vary: rscVaryHeader },
15419
15436
  continue: true,
15420
15437
  override: true
15421
15438
  }
@@ -15977,7 +15994,11 @@ var build = async (buildOptions) => {
15977
15994
  (0, import_build_utils3.debug)("Found NPM_AUTH_TOKEN in environment, creating .npmrc");
15978
15995
  await writeNpmRc(entryPath, process.env.NPM_AUTH_TOKEN);
15979
15996
  }
15980
- const { detectedPackageManager } = (0, import_build_utils3.detectPackageManager)(cliType, lockfileVersion) ?? {};
15997
+ const { detectedPackageManager } = (0, import_build_utils3.detectPackageManager)(
15998
+ cliType,
15999
+ lockfileVersion,
16000
+ config.projectSettings?.createdAt
16001
+ ) ?? {};
15981
16002
  const trimmedInstallCommand = installCommand?.trim();
15982
16003
  const shouldRunInstallCommand = (
15983
16004
  // Case 1: We have a zero config install
@@ -17432,7 +17453,10 @@ More info: http://err.sh/vercel/vercel/next-functions-config-optimized-lambdas`
17432
17453
  isSharedLambdas,
17433
17454
  canUsePreviewMode,
17434
17455
  isAppPPREnabled: false,
17435
- isAppClientSegmentCacheEnabled: false
17456
+ isAppClientSegmentCacheEnabled: false,
17457
+ // Relevant Next.js versions will be handled by server-build.ts, which
17458
+ // does correctly configure this variable.
17459
+ shouldSkipVaryHeader: false
17436
17460
  });
17437
17461
  await Promise.all(
17438
17462
  Object.keys(prerenderManifest.staticRoutes).map(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/next",
3
- "version": "4.7.2",
3
+ "version": "4.7.4",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/index",
6
6
  "homepage": "https://vercel.com/docs/runtimes#official-runtimes/next-js",
@@ -30,7 +30,7 @@
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": "10.3.1",
33
+ "@vercel/build-utils": "10.5.1",
34
34
  "@vercel/routing-utils": "5.0.4",
35
35
  "async-sema": "3.0.1",
36
36
  "buffer-crc32": "0.2.13",