@vercel/next 3.2.8 → 3.2.10

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/dist/index.js CHANGED
@@ -43192,6 +43192,7 @@ function replaceSegments(segments, hasItemSegments, destination, isRedirect, int
43192
43192
  query[key] = strOrArray.map(str => safelyCompile(unescapeSegments(str), indexes, true));
43193
43193
  }
43194
43194
  else {
43195
+ // TODO: handle strOrArray is undefined
43195
43196
  query[key] = safelyCompile(unescapeSegments(strOrArray), indexes, true);
43196
43197
  }
43197
43198
  }
@@ -46374,6 +46375,21 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
46374
46375
  }
46375
46376
  }
46376
46377
  }
46378
+ const rscHeader = routesManifest.rsc?.header?.toLowerCase() || '__rsc__';
46379
+ const completeDynamicRoutes = [];
46380
+ if (appDir) {
46381
+ for (const route of dynamicRoutes) {
46382
+ completeDynamicRoutes.push(route);
46383
+ completeDynamicRoutes.push({
46384
+ ...route,
46385
+ src: route.src.replace(new RegExp((0, escape_string_regexp_1.default)('(?:/)?$')), '(?:\\.rsc)?(?:/)?$'),
46386
+ dest: route.dest?.replace(/($|\?)/, '.rsc$1'),
46387
+ });
46388
+ }
46389
+ }
46390
+ else {
46391
+ completeDynamicRoutes.push(...dynamicRoutes);
46392
+ }
46377
46393
  return {
46378
46394
  wildcard: wildcardConfig,
46379
46395
  images: imagesManifest?.images?.loader === 'default'
@@ -46505,7 +46521,13 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
46505
46521
  ...redirects,
46506
46522
  // middleware comes directly after redirects but before
46507
46523
  // beforeFiles rewrites as middleware is not a "file" route
46524
+ ...(routesManifest?.skipMiddlewareUrlNormalize
46525
+ ? denormalizeNextDataRoute(true)
46526
+ : []),
46508
46527
  ...(isCorrectMiddlewareOrder ? middleware.staticRoutes : []),
46528
+ ...(routesManifest?.skipMiddlewareUrlNormalize
46529
+ ? normalizeNextDataRoute(true)
46530
+ : []),
46509
46531
  ...beforeFilesRewrites,
46510
46532
  // Make sure to 404 for the /404 path itself
46511
46533
  ...(i18n
@@ -46570,7 +46592,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
46570
46592
  has: [
46571
46593
  {
46572
46594
  type: 'header',
46573
- key: '__rsc__',
46595
+ key: rscHeader,
46574
46596
  },
46575
46597
  ],
46576
46598
  dest: path_1.default.posix.join('/', entryDirectory, '/index.rsc'),
@@ -46581,7 +46603,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
46581
46603
  has: [
46582
46604
  {
46583
46605
  type: 'header',
46584
- key: '__rsc__',
46606
+ key: rscHeader,
46585
46607
  },
46586
46608
  ],
46587
46609
  dest: path_1.default.posix.join('/', entryDirectory, '/$1.rsc'),
@@ -46664,7 +46686,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
46664
46686
  ? // when resolving data routes for middleware we need to include
46665
46687
  // all dynamic routes including non-SSG/SSP so that the priority
46666
46688
  // is correct
46667
- dynamicRoutes
46689
+ completeDynamicRoutes
46668
46690
  .map(route => {
46669
46691
  route = Object.assign({}, route);
46670
46692
  let normalizedSrc = route.src;
@@ -46710,7 +46732,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
46710
46732
  : []),
46711
46733
  // Dynamic routes (must come after dataRoutes as dataRoutes are more
46712
46734
  // specific)
46713
- ...dynamicRoutes,
46735
+ ...completeDynamicRoutes,
46714
46736
  ...(isNextDataServerResolving
46715
46737
  ? [
46716
46738
  {
@@ -48164,6 +48186,8 @@ const onPrerenderRoute = (prerenderRouteArgs) => (routeKey, { isBlocking, isFall
48164
48186
  allowQuery = [];
48165
48187
  }
48166
48188
  }
48189
+ const rscVaryHeader = routesManifest?.rsc?.varyHeader ||
48190
+ '__rsc__, __next_router_state_tree__, __next_router_prefetch__';
48167
48191
  prerenders[outputPathPage] = new build_utils_1.Prerender({
48168
48192
  expiration: initialRevalidate,
48169
48193
  lambda,
@@ -48179,7 +48203,7 @@ const onPrerenderRoute = (prerenderRouteArgs) => (routeKey, { isBlocking, isFall
48179
48203
  ...(isAppPathRoute
48180
48204
  ? {
48181
48205
  initialHeaders: {
48182
- vary: '__rsc__, __next_router_state_tree__, __next_router_prefetch__',
48206
+ vary: rscVaryHeader,
48183
48207
  },
48184
48208
  }
48185
48209
  : {}),
@@ -48200,7 +48224,7 @@ const onPrerenderRoute = (prerenderRouteArgs) => (routeKey, { isBlocking, isFall
48200
48224
  ? {
48201
48225
  initialHeaders: {
48202
48226
  'content-type': 'application/octet-stream',
48203
- vary: '__rsc__, __next_router_state_tree__, __next_router_prefetch__',
48227
+ vary: rscVaryHeader,
48204
48228
  },
48205
48229
  }
48206
48230
  : {}),
@@ -663,6 +663,21 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
663
663
  }
664
664
  }
665
665
  }
666
+ const rscHeader = routesManifest.rsc?.header?.toLowerCase() || '__rsc__';
667
+ const completeDynamicRoutes = [];
668
+ if (appDir) {
669
+ for (const route of dynamicRoutes) {
670
+ completeDynamicRoutes.push(route);
671
+ completeDynamicRoutes.push({
672
+ ...route,
673
+ src: route.src.replace(new RegExp((0, escape_string_regexp_1.default)('(?:/)?$')), '(?:\\.rsc)?(?:/)?$'),
674
+ dest: route.dest?.replace(/($|\?)/, '.rsc$1'),
675
+ });
676
+ }
677
+ }
678
+ else {
679
+ completeDynamicRoutes.push(...dynamicRoutes);
680
+ }
666
681
  return {
667
682
  wildcard: wildcardConfig,
668
683
  images: imagesManifest?.images?.loader === 'default'
@@ -794,7 +809,13 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
794
809
  ...redirects,
795
810
  // middleware comes directly after redirects but before
796
811
  // beforeFiles rewrites as middleware is not a "file" route
812
+ ...(routesManifest?.skipMiddlewareUrlNormalize
813
+ ? denormalizeNextDataRoute(true)
814
+ : []),
797
815
  ...(isCorrectMiddlewareOrder ? middleware.staticRoutes : []),
816
+ ...(routesManifest?.skipMiddlewareUrlNormalize
817
+ ? normalizeNextDataRoute(true)
818
+ : []),
798
819
  ...beforeFilesRewrites,
799
820
  // Make sure to 404 for the /404 path itself
800
821
  ...(i18n
@@ -859,7 +880,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
859
880
  has: [
860
881
  {
861
882
  type: 'header',
862
- key: '__rsc__',
883
+ key: rscHeader,
863
884
  },
864
885
  ],
865
886
  dest: path_1.default.posix.join('/', entryDirectory, '/index.rsc'),
@@ -870,7 +891,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
870
891
  has: [
871
892
  {
872
893
  type: 'header',
873
- key: '__rsc__',
894
+ key: rscHeader,
874
895
  },
875
896
  ],
876
897
  dest: path_1.default.posix.join('/', entryDirectory, '/$1.rsc'),
@@ -953,7 +974,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
953
974
  ? // when resolving data routes for middleware we need to include
954
975
  // all dynamic routes including non-SSG/SSP so that the priority
955
976
  // is correct
956
- dynamicRoutes
977
+ completeDynamicRoutes
957
978
  .map(route => {
958
979
  route = Object.assign({}, route);
959
980
  let normalizedSrc = route.src;
@@ -999,7 +1020,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
999
1020
  : []),
1000
1021
  // Dynamic routes (must come after dataRoutes as dataRoutes are more
1001
1022
  // specific)
1002
- ...dynamicRoutes,
1023
+ ...completeDynamicRoutes,
1003
1024
  ...(isNextDataServerResolving
1004
1025
  ? [
1005
1026
  {
package/dist/utils.js CHANGED
@@ -1233,6 +1233,8 @@ const onPrerenderRoute = (prerenderRouteArgs) => (routeKey, { isBlocking, isFall
1233
1233
  allowQuery = [];
1234
1234
  }
1235
1235
  }
1236
+ const rscVaryHeader = routesManifest?.rsc?.varyHeader ||
1237
+ '__rsc__, __next_router_state_tree__, __next_router_prefetch__';
1236
1238
  prerenders[outputPathPage] = new build_utils_1.Prerender({
1237
1239
  expiration: initialRevalidate,
1238
1240
  lambda,
@@ -1248,7 +1250,7 @@ const onPrerenderRoute = (prerenderRouteArgs) => (routeKey, { isBlocking, isFall
1248
1250
  ...(isAppPathRoute
1249
1251
  ? {
1250
1252
  initialHeaders: {
1251
- vary: '__rsc__, __next_router_state_tree__, __next_router_prefetch__',
1253
+ vary: rscVaryHeader,
1252
1254
  },
1253
1255
  }
1254
1256
  : {}),
@@ -1269,7 +1271,7 @@ const onPrerenderRoute = (prerenderRouteArgs) => (routeKey, { isBlocking, isFall
1269
1271
  ? {
1270
1272
  initialHeaders: {
1271
1273
  'content-type': 'application/octet-stream',
1272
- vary: '__rsc__, __next_router_state_tree__, __next_router_prefetch__',
1274
+ vary: rscVaryHeader,
1273
1275
  },
1274
1276
  }
1275
1277
  : {}),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/next",
3
- "version": "3.2.8",
3
+ "version": "3.2.10",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index",
6
6
  "homepage": "https://vercel.com/docs/runtimes#official-runtimes/next-js",
@@ -39,14 +39,14 @@
39
39
  "@types/fs-extra": "8.0.0",
40
40
  "@types/glob": "7.1.3",
41
41
  "@types/next-server": "8.0.0",
42
- "@types/node": "14.17.27",
42
+ "@types/node": "14.18.33",
43
43
  "@types/resolve-from": "5.0.1",
44
44
  "@types/semver": "6.0.0",
45
45
  "@types/text-table": "0.2.1",
46
46
  "@types/webpack-sources": "3.2.0",
47
47
  "@vercel/build-utils": "5.5.7",
48
48
  "@vercel/nft": "0.22.1",
49
- "@vercel/routing-utils": "2.1.1",
49
+ "@vercel/routing-utils": "2.1.2",
50
50
  "async-sema": "3.0.1",
51
51
  "buffer-crc32": "0.2.13",
52
52
  "cheerio": "1.0.0-rc.10",
@@ -69,5 +69,5 @@
69
69
  "typescript": "4.5.2",
70
70
  "webpack-sources": "3.2.3"
71
71
  },
72
- "gitHead": "a567d047d18d992207958c4b250feaccf68dd724"
72
+ "gitHead": "fbb8bba4cfb06040d62916bdc3fc849ac0b4d074"
73
73
  }