@vercel/next 3.8.2 → 3.8.3
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 +24 -24
- package/dist/server-build.js +4 -17
- package/dist/utils.js +20 -7
- package/package.json +11 -12
package/dist/index.js
CHANGED
@@ -43682,7 +43682,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
|
|
43682
43682
|
});
|
43683
43683
|
const isNextDataServerResolving = middleware.staticRoutes.length > 0 &&
|
43684
43684
|
semver_1.default.gte(nextVersion, NEXT_DATA_MIDDLEWARE_RESOLVING_VERSION);
|
43685
|
-
const dynamicRoutes = await (0, utils_1.getDynamicRoutes)(entryPath, entryDirectory, dynamicPages, false, routesManifest, omittedPrerenderRoutes, canUsePreviewMode, prerenderManifest.bypassToken || '', true, middleware.dynamicRouteMap).then(arr => (0, utils_1.localizeDynamicRoutes)(arr, dynamicPrefix, entryDirectory, staticPages, prerenderManifest, routesManifest, true, isCorrectLocaleAPIRoutes));
|
43685
|
+
const dynamicRoutes = await (0, utils_1.getDynamicRoutes)(entryPath, entryDirectory, dynamicPages, false, routesManifest, omittedPrerenderRoutes, canUsePreviewMode, prerenderManifest.bypassToken || '', true, middleware.dynamicRouteMap, inversedAppPathManifest).then(arr => (0, utils_1.localizeDynamicRoutes)(arr, dynamicPrefix, entryDirectory, staticPages, prerenderManifest, routesManifest, true, isCorrectLocaleAPIRoutes));
|
43686
43686
|
const { staticFiles, publicDirectoryFiles, staticDirectoryFiles } = await (0, utils_1.getStaticFiles)(entryPath, entryDirectory, outputDirectory);
|
43687
43687
|
const normalizeNextDataRoute = (isOverride = false) => {
|
43688
43688
|
return isNextDataServerResolving
|
@@ -43780,20 +43780,6 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
|
|
43780
43780
|
const rscHeader = routesManifest.rsc?.header?.toLowerCase() || '__rsc__';
|
43781
43781
|
const rscVaryHeader = routesManifest?.rsc?.varyHeader ||
|
43782
43782
|
'RSC, Next-Router-State-Tree, Next-Router-Prefetch';
|
43783
|
-
const completeDynamicRoutes = [];
|
43784
|
-
if (appDir) {
|
43785
|
-
for (const route of dynamicRoutes) {
|
43786
|
-
completeDynamicRoutes.push({
|
43787
|
-
...route,
|
43788
|
-
src: route.src.replace(new RegExp((0, escape_string_regexp_1.default)('(?:/)?$')), '(?:\\.rsc)(?:/)?$'),
|
43789
|
-
dest: route.dest?.replace(/($|\?)/, '.rsc$1'),
|
43790
|
-
});
|
43791
|
-
completeDynamicRoutes.push(route);
|
43792
|
-
}
|
43793
|
-
}
|
43794
|
-
else {
|
43795
|
-
completeDynamicRoutes.push(...dynamicRoutes);
|
43796
|
-
}
|
43797
43783
|
return {
|
43798
43784
|
wildcard: wildcardConfig,
|
43799
43785
|
images: (0, utils_1.getImagesConfig)(imagesManifest),
|
@@ -44089,7 +44075,8 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
|
|
44089
44075
|
? // when resolving data routes for middleware we need to include
|
44090
44076
|
// all dynamic routes including non-SSG/SSP so that the priority
|
44091
44077
|
// is correct
|
44092
|
-
|
44078
|
+
dynamicRoutes
|
44079
|
+
.filter(route => !route.src.includes('.rsc'))
|
44093
44080
|
.map(route => {
|
44094
44081
|
route = Object.assign({}, route);
|
44095
44082
|
let normalizedSrc = route.src;
|
@@ -44135,7 +44122,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
|
|
44135
44122
|
: []),
|
44136
44123
|
// Dynamic routes (must come after dataRoutes as dataRoutes are more
|
44137
44124
|
// specific)
|
44138
|
-
...
|
44125
|
+
...dynamicRoutes,
|
44139
44126
|
...(isNextDataServerResolving
|
44140
44127
|
? [
|
44141
44128
|
{
|
@@ -44551,7 +44538,7 @@ async function getRoutesManifest(entryPath, outputDirectory, nextVersion) {
|
|
44551
44538
|
return routesManifest;
|
44552
44539
|
}
|
44553
44540
|
exports.getRoutesManifest = getRoutesManifest;
|
44554
|
-
async function getDynamicRoutes(entryPath, entryDirectory, dynamicPages, isDev, routesManifest, omittedRoutes, canUsePreviewMode, bypassToken, isServerMode, dynamicMiddlewareRouteMap) {
|
44541
|
+
async function getDynamicRoutes(entryPath, entryDirectory, dynamicPages, isDev, routesManifest, omittedRoutes, canUsePreviewMode, bypassToken, isServerMode, dynamicMiddlewareRouteMap, appPathRoutesManifest) {
|
44555
44542
|
if (routesManifest) {
|
44556
44543
|
switch (routesManifest.version) {
|
44557
44544
|
case 1:
|
@@ -44569,15 +44556,19 @@ async function getDynamicRoutes(entryPath, entryDirectory, dynamicPages, isDev,
|
|
44569
44556
|
}
|
44570
44557
|
case 3:
|
44571
44558
|
case 4: {
|
44572
|
-
|
44573
|
-
|
44574
|
-
|
44559
|
+
const routes = [];
|
44560
|
+
for (const dynamicRoute of routesManifest.dynamicRoutes) {
|
44561
|
+
if (!canUsePreviewMode && omittedRoutes?.has(dynamicRoute.page)) {
|
44562
|
+
continue;
|
44563
|
+
}
|
44564
|
+
const params = dynamicRoute;
|
44575
44565
|
if ('isMiddleware' in params) {
|
44576
44566
|
const route = dynamicMiddlewareRouteMap?.get(params.page);
|
44577
44567
|
if (!route) {
|
44578
44568
|
throw new Error(`Could not find dynamic middleware route for ${params.page}`);
|
44579
44569
|
}
|
44580
|
-
|
44570
|
+
routes.push(route);
|
44571
|
+
continue;
|
44581
44572
|
}
|
44582
44573
|
const { page, namedRegex, regex, routeKeys } = params;
|
44583
44574
|
const route = {
|
@@ -44606,8 +44597,17 @@ async function getDynamicRoutes(entryPath, entryDirectory, dynamicPages, isDev,
|
|
44606
44597
|
},
|
44607
44598
|
];
|
44608
44599
|
}
|
44609
|
-
|
44610
|
-
|
44600
|
+
if (appPathRoutesManifest?.[page]) {
|
44601
|
+
routes.push({
|
44602
|
+
...route,
|
44603
|
+
src: route.src.replace(new RegExp((0, escape_string_regexp_1.default)('(?:/)?$')), '(?:\\.rsc)(?:/)?$'),
|
44604
|
+
dest: route.dest?.replace(/($|\?)/, '.rsc$1'),
|
44605
|
+
});
|
44606
|
+
}
|
44607
|
+
routes.push(route);
|
44608
|
+
continue;
|
44609
|
+
}
|
44610
|
+
return routes;
|
44611
44611
|
}
|
44612
44612
|
default: {
|
44613
44613
|
// update MIN_ROUTES_MANIFEST_VERSION
|
package/dist/server-build.js
CHANGED
@@ -608,7 +608,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
|
|
608
608
|
});
|
609
609
|
const isNextDataServerResolving = middleware.staticRoutes.length > 0 &&
|
610
610
|
semver_1.default.gte(nextVersion, NEXT_DATA_MIDDLEWARE_RESOLVING_VERSION);
|
611
|
-
const dynamicRoutes = await (0, utils_1.getDynamicRoutes)(entryPath, entryDirectory, dynamicPages, false, routesManifest, omittedPrerenderRoutes, canUsePreviewMode, prerenderManifest.bypassToken || '', true, middleware.dynamicRouteMap).then(arr => (0, utils_1.localizeDynamicRoutes)(arr, dynamicPrefix, entryDirectory, staticPages, prerenderManifest, routesManifest, true, isCorrectLocaleAPIRoutes));
|
611
|
+
const dynamicRoutes = await (0, utils_1.getDynamicRoutes)(entryPath, entryDirectory, dynamicPages, false, routesManifest, omittedPrerenderRoutes, canUsePreviewMode, prerenderManifest.bypassToken || '', true, middleware.dynamicRouteMap, inversedAppPathManifest).then(arr => (0, utils_1.localizeDynamicRoutes)(arr, dynamicPrefix, entryDirectory, staticPages, prerenderManifest, routesManifest, true, isCorrectLocaleAPIRoutes));
|
612
612
|
const { staticFiles, publicDirectoryFiles, staticDirectoryFiles } = await (0, utils_1.getStaticFiles)(entryPath, entryDirectory, outputDirectory);
|
613
613
|
const normalizeNextDataRoute = (isOverride = false) => {
|
614
614
|
return isNextDataServerResolving
|
@@ -706,20 +706,6 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
|
|
706
706
|
const rscHeader = routesManifest.rsc?.header?.toLowerCase() || '__rsc__';
|
707
707
|
const rscVaryHeader = routesManifest?.rsc?.varyHeader ||
|
708
708
|
'RSC, Next-Router-State-Tree, Next-Router-Prefetch';
|
709
|
-
const completeDynamicRoutes = [];
|
710
|
-
if (appDir) {
|
711
|
-
for (const route of dynamicRoutes) {
|
712
|
-
completeDynamicRoutes.push({
|
713
|
-
...route,
|
714
|
-
src: route.src.replace(new RegExp((0, escape_string_regexp_1.default)('(?:/)?$')), '(?:\\.rsc)(?:/)?$'),
|
715
|
-
dest: route.dest?.replace(/($|\?)/, '.rsc$1'),
|
716
|
-
});
|
717
|
-
completeDynamicRoutes.push(route);
|
718
|
-
}
|
719
|
-
}
|
720
|
-
else {
|
721
|
-
completeDynamicRoutes.push(...dynamicRoutes);
|
722
|
-
}
|
723
709
|
return {
|
724
710
|
wildcard: wildcardConfig,
|
725
711
|
images: (0, utils_1.getImagesConfig)(imagesManifest),
|
@@ -1015,7 +1001,8 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
|
|
1015
1001
|
? // when resolving data routes for middleware we need to include
|
1016
1002
|
// all dynamic routes including non-SSG/SSP so that the priority
|
1017
1003
|
// is correct
|
1018
|
-
|
1004
|
+
dynamicRoutes
|
1005
|
+
.filter(route => !route.src.includes('.rsc'))
|
1019
1006
|
.map(route => {
|
1020
1007
|
route = Object.assign({}, route);
|
1021
1008
|
let normalizedSrc = route.src;
|
@@ -1061,7 +1048,7 @@ async function serverBuild({ dynamicPages, pagesDir, config = {}, privateOutputs
|
|
1061
1048
|
: []),
|
1062
1049
|
// Dynamic routes (must come after dataRoutes as dataRoutes are more
|
1063
1050
|
// specific)
|
1064
|
-
...
|
1051
|
+
...dynamicRoutes,
|
1065
1052
|
...(isNextDataServerResolving
|
1066
1053
|
? [
|
1067
1054
|
{
|
package/dist/utils.js
CHANGED
@@ -194,7 +194,7 @@ async function getRoutesManifest(entryPath, outputDirectory, nextVersion) {
|
|
194
194
|
return routesManifest;
|
195
195
|
}
|
196
196
|
exports.getRoutesManifest = getRoutesManifest;
|
197
|
-
async function getDynamicRoutes(entryPath, entryDirectory, dynamicPages, isDev, routesManifest, omittedRoutes, canUsePreviewMode, bypassToken, isServerMode, dynamicMiddlewareRouteMap) {
|
197
|
+
async function getDynamicRoutes(entryPath, entryDirectory, dynamicPages, isDev, routesManifest, omittedRoutes, canUsePreviewMode, bypassToken, isServerMode, dynamicMiddlewareRouteMap, appPathRoutesManifest) {
|
198
198
|
if (routesManifest) {
|
199
199
|
switch (routesManifest.version) {
|
200
200
|
case 1:
|
@@ -212,15 +212,19 @@ async function getDynamicRoutes(entryPath, entryDirectory, dynamicPages, isDev,
|
|
212
212
|
}
|
213
213
|
case 3:
|
214
214
|
case 4: {
|
215
|
-
|
216
|
-
|
217
|
-
|
215
|
+
const routes = [];
|
216
|
+
for (const dynamicRoute of routesManifest.dynamicRoutes) {
|
217
|
+
if (!canUsePreviewMode && omittedRoutes?.has(dynamicRoute.page)) {
|
218
|
+
continue;
|
219
|
+
}
|
220
|
+
const params = dynamicRoute;
|
218
221
|
if ('isMiddleware' in params) {
|
219
222
|
const route = dynamicMiddlewareRouteMap?.get(params.page);
|
220
223
|
if (!route) {
|
221
224
|
throw new Error(`Could not find dynamic middleware route for ${params.page}`);
|
222
225
|
}
|
223
|
-
|
226
|
+
routes.push(route);
|
227
|
+
continue;
|
224
228
|
}
|
225
229
|
const { page, namedRegex, regex, routeKeys } = params;
|
226
230
|
const route = {
|
@@ -249,8 +253,17 @@ async function getDynamicRoutes(entryPath, entryDirectory, dynamicPages, isDev,
|
|
249
253
|
},
|
250
254
|
];
|
251
255
|
}
|
252
|
-
|
253
|
-
|
256
|
+
if (appPathRoutesManifest?.[page]) {
|
257
|
+
routes.push({
|
258
|
+
...route,
|
259
|
+
src: route.src.replace(new RegExp((0, escape_string_regexp_1.default)('(?:/)?$')), '(?:\\.rsc)(?:/)?$'),
|
260
|
+
dest: route.dest?.replace(/($|\?)/, '.rsc$1'),
|
261
|
+
});
|
262
|
+
}
|
263
|
+
routes.push(route);
|
264
|
+
continue;
|
265
|
+
}
|
266
|
+
return routes;
|
254
267
|
}
|
255
268
|
default: {
|
256
269
|
// update MIN_ROUTES_MANIFEST_VERSION
|
package/package.json
CHANGED
@@ -1,18 +1,9 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vercel/next",
|
3
|
-
"version": "3.8.
|
3
|
+
"version": "3.8.3",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"main": "./dist/index",
|
6
6
|
"homepage": "https://vercel.com/docs/runtimes#official-runtimes/next-js",
|
7
|
-
"scripts": {
|
8
|
-
"build": "node build.js",
|
9
|
-
"build-dev": "node build.js --dev",
|
10
|
-
"test": "jest --env node --verbose --bail --runInBand --testTimeout=360000",
|
11
|
-
"test-unit": "pnpm test test/unit/",
|
12
|
-
"test-next-local": "pnpm test test/integration/*.test.js test/integration/*.test.ts",
|
13
|
-
"test-next-local:middleware": "pnpm test test/integration/middleware.test.ts",
|
14
|
-
"test-e2e": "rm -f test/builder-info.json; pnpm test test/fixtures/**/*.test.js"
|
15
|
-
},
|
16
7
|
"repository": {
|
17
8
|
"type": "git",
|
18
9
|
"url": "https://github.com/vercel/vercel.git",
|
@@ -60,5 +51,13 @@
|
|
60
51
|
"text-table": "0.2.0",
|
61
52
|
"webpack-sources": "3.2.3"
|
62
53
|
},
|
63
|
-
"
|
64
|
-
|
54
|
+
"scripts": {
|
55
|
+
"build": "node build.js",
|
56
|
+
"build-dev": "node build.js --dev",
|
57
|
+
"test": "jest --env node --verbose --bail --runInBand --testTimeout=360000",
|
58
|
+
"test-unit": "pnpm test test/unit/",
|
59
|
+
"test-next-local": "pnpm test test/integration/*.test.js test/integration/*.test.ts",
|
60
|
+
"test-next-local:middleware": "pnpm test test/integration/middleware.test.ts",
|
61
|
+
"test-e2e": "rm -f test/builder-info.json; pnpm test test/fixtures/**/*.test.js"
|
62
|
+
}
|
63
|
+
}
|