next 14.2.19 → 14.2.20
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/bin/next +1 -1
- package/dist/build/index.js +1 -1
- package/dist/build/swc/index.js +1 -1
- package/dist/build/webpack-config.js +2 -2
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/compiled/next-server/app-page-experimental.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/app-page-experimental.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/app-page-turbo.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/app-page.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/app-page.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/app-route-experimental.runtime.dev.js +2 -2
- package/dist/compiled/next-server/app-route-experimental.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/app-route-experimental.runtime.prod.js +2 -2
- package/dist/compiled/next-server/app-route-experimental.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/app-route-turbo-experimental.runtime.prod.js +2 -2
- package/dist/compiled/next-server/app-route-turbo-experimental.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/app-route-turbo.runtime.prod.js +2 -2
- package/dist/compiled/next-server/app-route-turbo.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/app-route.runtime.dev.js +2 -2
- package/dist/compiled/next-server/app-route.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/app-route.runtime.prod.js +2 -2
- package/dist/compiled/next-server/app-route.runtime.prod.js.map +1 -1
- package/dist/esm/build/index.js +1 -1
- package/dist/esm/build/swc/index.js +1 -1
- package/dist/esm/build/webpack-config.js +2 -2
- package/dist/esm/client/app-bootstrap.js +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/server/config.js +1 -1
- package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/esm/server/lib/app-info-log.js +1 -1
- package/dist/esm/server/lib/clone-response.js +44 -0
- package/dist/esm/server/lib/clone-response.js.map +1 -0
- package/dist/esm/server/lib/dedupe-fetch.js +106 -0
- package/dist/esm/server/lib/dedupe-fetch.js.map +1 -0
- package/dist/esm/server/lib/patch-fetch.js +37 -10
- package/dist/esm/server/lib/patch-fetch.js.map +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/server/config.js +1 -1
- package/dist/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/server/lib/app-info-log.js +1 -1
- package/dist/server/lib/clone-response.d.ts +13 -0
- package/dist/server/lib/clone-response.js +54 -0
- package/dist/server/lib/clone-response.js.map +1 -0
- package/dist/server/lib/dedupe-fetch.d.ts +1 -0
- package/dist/server/lib/dedupe-fetch.js +157 -0
- package/dist/server/lib/dedupe-fetch.js.map +1 -0
- package/dist/server/lib/patch-fetch.js +37 -10
- package/dist/server/lib/patch-fetch.js.map +1 -1
- package/dist/server/lib/start-server.js +1 -1
- package/dist/telemetry/anonymous-meta.js +1 -1
- package/dist/telemetry/events/session-stopped.js +2 -2
- package/dist/telemetry/events/version.js +2 -2
- package/package.json +15 -15
package/dist/esm/build/index.js
CHANGED
|
@@ -302,7 +302,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
|
|
|
302
302
|
const nextBuildSpan = trace("next-build", undefined, {
|
|
303
303
|
buildMode: experimentalBuildMode,
|
|
304
304
|
isTurboBuild: String(turboNextBuild),
|
|
305
|
-
version: "14.2.
|
|
305
|
+
version: "14.2.20"
|
|
306
306
|
});
|
|
307
307
|
NextBuildContext.nextBuildSpan = nextBuildSpan;
|
|
308
308
|
NextBuildContext.dir = dir;
|
|
@@ -9,7 +9,7 @@ import { patchIncorrectLockfile } from "../../lib/patch-incorrect-lockfile";
|
|
|
9
9
|
import { downloadNativeNextSwc, downloadWasmSwc } from "../../lib/download-swc";
|
|
10
10
|
import { isDeepStrictEqual } from "util";
|
|
11
11
|
import { getDefineEnv } from "../webpack/plugins/define-env-plugin";
|
|
12
|
-
const nextVersion = "14.2.
|
|
12
|
+
const nextVersion = "14.2.20";
|
|
13
13
|
const ArchName = arch();
|
|
14
14
|
const PlatformName = platform();
|
|
15
15
|
const infoLog = (...args)=>{
|
|
@@ -1408,7 +1408,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
|
|
|
1408
1408
|
new WellKnownErrorsPlugin(),
|
|
1409
1409
|
isClient && new CopyFilePlugin({
|
|
1410
1410
|
filePath: require.resolve("./polyfills/polyfill-nomodule"),
|
|
1411
|
-
cacheKey: "14.2.
|
|
1411
|
+
cacheKey: "14.2.20",
|
|
1412
1412
|
name: `static/chunks/polyfills${dev ? "" : "-[hash]"}.js`,
|
|
1413
1413
|
minimize: false,
|
|
1414
1414
|
info: {
|
|
@@ -1636,7 +1636,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
|
|
|
1636
1636
|
// - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
|
|
1637
1637
|
// - Next.js version
|
|
1638
1638
|
// - next.config.js keys that affect compilation
|
|
1639
|
-
version: `${__dirname}|${"14.2.
|
|
1639
|
+
version: `${__dirname}|${"14.2.20"}|${configVars}`,
|
|
1640
1640
|
cacheDirectory: path.join(distDir, "cache", "webpack"),
|
|
1641
1641
|
// For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
|
|
1642
1642
|
// So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
|
package/dist/esm/client/index.js
CHANGED
|
@@ -26,7 +26,7 @@ import { SearchParamsContext, PathParamsContext } from "../shared/lib/hooks-clie
|
|
|
26
26
|
import onRecoverableError from "./on-recoverable-error";
|
|
27
27
|
import tracer from "./tracing/tracer";
|
|
28
28
|
import reportToSocket from "./tracing/report-to-socket";
|
|
29
|
-
export const version = "14.2.
|
|
29
|
+
export const version = "14.2.20";
|
|
30
30
|
export let router;
|
|
31
31
|
export const emitter = mitt();
|
|
32
32
|
const looseToArray = (input)=>[].slice.call(input);
|
|
@@ -184,7 +184,7 @@ function assignDefaults(dir, userConfig, silent) {
|
|
|
184
184
|
...defaultConfig,
|
|
185
185
|
...config
|
|
186
186
|
};
|
|
187
|
-
if (((_result_experimental = result.experimental) == null ? void 0 : _result_experimental.ppr) && !"14.2.
|
|
187
|
+
if (((_result_experimental = result.experimental) == null ? void 0 : _result_experimental.ppr) && !"14.2.20".includes("canary") && !process.env.__NEXT_TEST_MODE) {
|
|
188
188
|
throw new Error(`The experimental.ppr preview feature can only be enabled when using the latest canary version of Next.js. See more info here: https://nextjs.org/docs/messages/ppr-preview`);
|
|
189
189
|
}
|
|
190
190
|
if (result.output === "export") {
|
|
@@ -40,7 +40,7 @@ export async function createHotReloaderTurbopack(opts, serverFields, distDir) {
|
|
|
40
40
|
}
|
|
41
41
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
|
42
42
|
const hotReloaderSpan = trace("hot-reloader", undefined, {
|
|
43
|
-
version: "14.2.
|
|
43
|
+
version: "14.2.20"
|
|
44
44
|
});
|
|
45
45
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
|
46
46
|
// of the current `next dev` invocation.
|
|
@@ -189,7 +189,7 @@ export default class HotReloaderWebpack {
|
|
|
189
189
|
this.previewProps = previewProps;
|
|
190
190
|
this.rewrites = rewrites;
|
|
191
191
|
this.hotReloaderSpan = trace("hot-reloader", undefined, {
|
|
192
|
-
version: "14.2.
|
|
192
|
+
version: "14.2.20"
|
|
193
193
|
});
|
|
194
194
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
|
195
195
|
// of the current `next dev` invocation.
|
|
@@ -4,7 +4,7 @@ import { bold, purple } from "../../lib/picocolors";
|
|
|
4
4
|
import { PHASE_DEVELOPMENT_SERVER, PHASE_PRODUCTION_BUILD } from "../../shared/lib/constants";
|
|
5
5
|
import loadConfig, { getEnabledExperimentalFeatures } from "../config";
|
|
6
6
|
export function logStartInfo({ networkUrl, appUrl, envInfo, expFeatureInfo, maxExperimentalFeatures = Infinity }) {
|
|
7
|
-
Log.bootstrap(`${bold(purple(`${Log.prefixes.ready} Next.js ${"14.2.
|
|
7
|
+
Log.bootstrap(`${bold(purple(`${Log.prefixes.ready} Next.js ${"14.2.20"}`))}${process.env.TURBOPACK ? " (turbo)" : ""}`);
|
|
8
8
|
if (appUrl) {
|
|
9
9
|
Log.bootstrap(`- Local: ${appUrl}`);
|
|
10
10
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clones a response by teeing the body so we can return two independent
|
|
3
|
+
* ReadableStreams from it. This avoids the bug in the undici library around
|
|
4
|
+
* response cloning.
|
|
5
|
+
*
|
|
6
|
+
* After cloning, the original response's body will be consumed and closed.
|
|
7
|
+
*
|
|
8
|
+
* @see https://github.com/vercel/next.js/pull/73274
|
|
9
|
+
*
|
|
10
|
+
* @param original - The original response to clone.
|
|
11
|
+
* @returns A tuple containing two independent clones of the original response.
|
|
12
|
+
*/ export function cloneResponse(original) {
|
|
13
|
+
// If the response has no body, then we can just return the original response
|
|
14
|
+
// twice because it's immutable.
|
|
15
|
+
if (!original.body) {
|
|
16
|
+
return [
|
|
17
|
+
original,
|
|
18
|
+
original
|
|
19
|
+
];
|
|
20
|
+
}
|
|
21
|
+
const [body1, body2] = original.body.tee();
|
|
22
|
+
const cloned1 = new Response(body1, {
|
|
23
|
+
status: original.status,
|
|
24
|
+
statusText: original.statusText,
|
|
25
|
+
headers: original.headers
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(cloned1, "url", {
|
|
28
|
+
value: original.url
|
|
29
|
+
});
|
|
30
|
+
const cloned2 = new Response(body2, {
|
|
31
|
+
status: original.status,
|
|
32
|
+
statusText: original.statusText,
|
|
33
|
+
headers: original.headers
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(cloned2, "url", {
|
|
36
|
+
value: original.url
|
|
37
|
+
});
|
|
38
|
+
return [
|
|
39
|
+
cloned1,
|
|
40
|
+
cloned2
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=clone-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/server/lib/clone-response.ts"],"names":["cloneResponse","original","body","body1","body2","tee","cloned1","Response","status","statusText","headers","Object","defineProperty","value","url","cloned2"],"mappings":"AAAA;;;;;;;;;;;CAWC,GACD,OAAO,SAASA,cAAcC,QAAkB;IAC9C,6EAA6E;IAC7E,gCAAgC;IAChC,IAAI,CAACA,SAASC,IAAI,EAAE;QAClB,OAAO;YAACD;YAAUA;SAAS;IAC7B;IAEA,MAAM,CAACE,OAAOC,MAAM,GAAGH,SAASC,IAAI,CAACG,GAAG;IAExC,MAAMC,UAAU,IAAIC,SAASJ,OAAO;QAClCK,QAAQP,SAASO,MAAM;QACvBC,YAAYR,SAASQ,UAAU;QAC/BC,SAAST,SAASS,OAAO;IAC3B;IAEAC,OAAOC,cAAc,CAACN,SAAS,OAAO;QACpCO,OAAOZ,SAASa,GAAG;IACrB;IAEA,MAAMC,UAAU,IAAIR,SAASH,OAAO;QAClCI,QAAQP,SAASO,MAAM;QACvBC,YAAYR,SAASQ,UAAU;QAC/BC,SAAST,SAASS,OAAO;IAC3B;IAEAC,OAAOC,cAAc,CAACG,SAAS,OAAO;QACpCF,OAAOZ,SAASa,GAAG;IACrB;IAEA,OAAO;QAACR;QAASS;KAAQ;AAC3B"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Based on https://github.com/facebook/react/blob/d4e78c42a94be027b4dc7ed2659a5fddfbf9bd4e/packages/react/src/ReactFetch.js
|
|
3
|
+
*/ import * as React from "react";
|
|
4
|
+
import { cloneResponse } from "./clone-response";
|
|
5
|
+
const simpleCacheKey = '["GET",[],null,"follow",null,null,null,null]' // generateCacheKey(new Request('https://blank'));
|
|
6
|
+
;
|
|
7
|
+
function generateCacheKey(request) {
|
|
8
|
+
// We pick the fields that goes into the key used to dedupe requests.
|
|
9
|
+
// We don't include the `cache` field, because we end up using whatever
|
|
10
|
+
// caching resulted from the first request.
|
|
11
|
+
// Notably we currently don't consider non-standard (or future) options.
|
|
12
|
+
// This might not be safe. TODO: warn for non-standard extensions differing.
|
|
13
|
+
// IF YOU CHANGE THIS UPDATE THE simpleCacheKey ABOVE.
|
|
14
|
+
return JSON.stringify([
|
|
15
|
+
request.method,
|
|
16
|
+
Array.from(request.headers.entries()),
|
|
17
|
+
request.mode,
|
|
18
|
+
request.redirect,
|
|
19
|
+
request.credentials,
|
|
20
|
+
request.referrer,
|
|
21
|
+
request.referrerPolicy,
|
|
22
|
+
request.integrity
|
|
23
|
+
]);
|
|
24
|
+
}
|
|
25
|
+
export function createDedupeFetch(originalFetch) {
|
|
26
|
+
const getCacheEntries = React.cache(// eslint-disable-next-line @typescript-eslint/no-unused-vars -- url is the cache key
|
|
27
|
+
(url)=>[]);
|
|
28
|
+
return function dedupeFetch(resource, options) {
|
|
29
|
+
if (options && options.signal) {
|
|
30
|
+
// If we're passed a signal, then we assume that
|
|
31
|
+
// someone else controls the lifetime of this object and opts out of
|
|
32
|
+
// caching. It's effectively the opt-out mechanism.
|
|
33
|
+
// Ideally we should be able to check this on the Request but
|
|
34
|
+
// it always gets initialized with its own signal so we don't
|
|
35
|
+
// know if it's supposed to override - unless we also override the
|
|
36
|
+
// Request constructor.
|
|
37
|
+
return originalFetch(resource, options);
|
|
38
|
+
}
|
|
39
|
+
// Normalize the Request
|
|
40
|
+
let url;
|
|
41
|
+
let cacheKey;
|
|
42
|
+
if (typeof resource === "string" && !options) {
|
|
43
|
+
// Fast path.
|
|
44
|
+
cacheKey = simpleCacheKey;
|
|
45
|
+
url = resource;
|
|
46
|
+
} else {
|
|
47
|
+
// Normalize the request.
|
|
48
|
+
// if resource is not a string or a URL (its an instance of Request)
|
|
49
|
+
// then do not instantiate a new Request but instead
|
|
50
|
+
// reuse the request as to not disturb the body in the event it's a ReadableStream.
|
|
51
|
+
const request = typeof resource === "string" || resource instanceof URL ? new Request(resource, options) : resource;
|
|
52
|
+
if (request.method !== "GET" && request.method !== "HEAD" || request.keepalive) {
|
|
53
|
+
// We currently don't dedupe requests that might have side-effects. Those
|
|
54
|
+
// have to be explicitly cached. We assume that the request doesn't have a
|
|
55
|
+
// body if it's GET or HEAD.
|
|
56
|
+
// keepalive gets treated the same as if you passed a custom cache signal.
|
|
57
|
+
return originalFetch(resource, options);
|
|
58
|
+
}
|
|
59
|
+
cacheKey = generateCacheKey(request);
|
|
60
|
+
url = request.url;
|
|
61
|
+
}
|
|
62
|
+
const cacheEntries = getCacheEntries(url);
|
|
63
|
+
for(let i = 0, j = cacheEntries.length; i < j; i += 1){
|
|
64
|
+
const [key, promise] = cacheEntries[i];
|
|
65
|
+
if (key === cacheKey) {
|
|
66
|
+
return promise.then(()=>{
|
|
67
|
+
const response = cacheEntries[i][2];
|
|
68
|
+
if (!response) throw new Error("No cached response");
|
|
69
|
+
// We're cloning the response using this utility because there exists
|
|
70
|
+
// a bug in the undici library around response cloning. See the
|
|
71
|
+
// following pull request for more details:
|
|
72
|
+
// https://github.com/vercel/next.js/pull/73274
|
|
73
|
+
const [cloned1, cloned2] = cloneResponse(response);
|
|
74
|
+
cacheEntries[i][2] = cloned2;
|
|
75
|
+
return cloned1;
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// We pass the original arguments here in case normalizing the Request
|
|
80
|
+
// doesn't include all the options in this environment. We also pass a
|
|
81
|
+
// signal down to the original fetch as to bypass the underlying React fetch
|
|
82
|
+
// cache.
|
|
83
|
+
const controller = new AbortController();
|
|
84
|
+
const promise = originalFetch(resource, {
|
|
85
|
+
...options,
|
|
86
|
+
signal: controller.signal
|
|
87
|
+
});
|
|
88
|
+
const entry = [
|
|
89
|
+
cacheKey,
|
|
90
|
+
promise,
|
|
91
|
+
null
|
|
92
|
+
];
|
|
93
|
+
cacheEntries.push(entry);
|
|
94
|
+
return promise.then((response)=>{
|
|
95
|
+
// We're cloning the response using this utility because there exists
|
|
96
|
+
// a bug in the undici library around response cloning. See the
|
|
97
|
+
// following pull request for more details:
|
|
98
|
+
// https://github.com/vercel/next.js/pull/73274
|
|
99
|
+
const [cloned1, cloned2] = cloneResponse(response);
|
|
100
|
+
entry[2] = cloned2;
|
|
101
|
+
return cloned1;
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
//# sourceMappingURL=dedupe-fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/server/lib/dedupe-fetch.ts"],"names":["React","cloneResponse","simpleCacheKey","generateCacheKey","request","JSON","stringify","method","Array","from","headers","entries","mode","redirect","credentials","referrer","referrerPolicy","integrity","createDedupeFetch","originalFetch","getCacheEntries","cache","url","dedupeFetch","resource","options","signal","cacheKey","URL","Request","keepalive","cacheEntries","i","j","length","key","promise","then","response","Error","cloned1","cloned2","controller","AbortController","entry","push"],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ import { getTracer, SpanKind } from "./trace/tracer";
|
|
|
3
3
|
import { CACHE_ONE_YEAR, NEXT_CACHE_IMPLICIT_TAG_ID, NEXT_CACHE_TAG_MAX_ITEMS, NEXT_CACHE_TAG_MAX_LENGTH } from "../../lib/constants";
|
|
4
4
|
import * as Log from "../../build/output/log";
|
|
5
5
|
import { trackDynamicFetch } from "../app-render/dynamic-rendering";
|
|
6
|
+
import { createDedupeFetch } from "./dedupe-fetch";
|
|
7
|
+
import { cloneResponse } from "./clone-response";
|
|
6
8
|
const isEdgeRuntime = process.env.NEXT_RUNTIME === "edge";
|
|
7
9
|
function isPatchedFetch(fetch) {
|
|
8
10
|
return "__nextPatched" in fetch && fetch.__nextPatched === true;
|
|
@@ -444,10 +446,19 @@ function createPatchedFetcher(originFetch, { serverHooks: { DynamicServerError }
|
|
|
444
446
|
if (entry.isStale) {
|
|
445
447
|
staticGenerationStore.pendingRevalidates ??= {};
|
|
446
448
|
if (!staticGenerationStore.pendingRevalidates[cacheKey]) {
|
|
447
|
-
|
|
449
|
+
const pendingRevalidate = doOriginalFetch(true).then(async (response)=>({
|
|
450
|
+
body: await response.arrayBuffer(),
|
|
451
|
+
headers: response.headers,
|
|
452
|
+
status: response.status,
|
|
453
|
+
statusText: response.statusText
|
|
454
|
+
})).finally(()=>{
|
|
448
455
|
staticGenerationStore.pendingRevalidates ??= {};
|
|
449
456
|
delete staticGenerationStore.pendingRevalidates[cacheKey || ""];
|
|
450
457
|
});
|
|
458
|
+
// Attach the empty catch here so we don't get a "unhandled
|
|
459
|
+
// promise rejection" warning.
|
|
460
|
+
pendingRevalidate.catch(console.error);
|
|
461
|
+
staticGenerationStore.pendingRevalidates[cacheKey] = pendingRevalidate;
|
|
451
462
|
}
|
|
452
463
|
}
|
|
453
464
|
const resData = entry.value.data;
|
|
@@ -509,13 +520,29 @@ function createPatchedFetcher(originFetch, { serverHooks: { DynamicServerError }
|
|
|
509
520
|
// origin hit if it's a cache-able entry
|
|
510
521
|
if (cacheKey && isForegroundRevalidate) {
|
|
511
522
|
staticGenerationStore.pendingRevalidates ??= {};
|
|
512
|
-
|
|
523
|
+
let pendingRevalidate = staticGenerationStore.pendingRevalidates[cacheKey];
|
|
513
524
|
if (pendingRevalidate) {
|
|
514
|
-
const
|
|
515
|
-
return
|
|
525
|
+
const revalidatedResult = await pendingRevalidate;
|
|
526
|
+
return new Response(revalidatedResult.body, {
|
|
527
|
+
headers: revalidatedResult.headers,
|
|
528
|
+
status: revalidatedResult.status,
|
|
529
|
+
statusText: revalidatedResult.statusText
|
|
530
|
+
});
|
|
516
531
|
}
|
|
517
|
-
const pendingResponse = doOriginalFetch(true, cacheReasonOverride)
|
|
518
|
-
|
|
532
|
+
const pendingResponse = doOriginalFetch(true, cacheReasonOverride)// We're cloning the response using this utility because there
|
|
533
|
+
// exists a bug in the undici library around response cloning.
|
|
534
|
+
// See the following pull request for more details:
|
|
535
|
+
// https://github.com/vercel/next.js/pull/73274
|
|
536
|
+
.then(cloneResponse);
|
|
537
|
+
pendingRevalidate = pendingResponse.then(async (responses)=>{
|
|
538
|
+
const response = responses[0];
|
|
539
|
+
return {
|
|
540
|
+
body: await response.arrayBuffer(),
|
|
541
|
+
headers: response.headers,
|
|
542
|
+
status: response.status,
|
|
543
|
+
statusText: response.statusText
|
|
544
|
+
};
|
|
545
|
+
}).finally(()=>{
|
|
519
546
|
if (cacheKey) {
|
|
520
547
|
var _staticGenerationStore_pendingRevalidates;
|
|
521
548
|
// If the pending revalidate is not present in the store, then
|
|
@@ -528,9 +555,9 @@ function createPatchedFetcher(originFetch, { serverHooks: { DynamicServerError }
|
|
|
528
555
|
});
|
|
529
556
|
// Attach the empty catch here so we don't get a "unhandled promise
|
|
530
557
|
// rejection" warning
|
|
531
|
-
|
|
532
|
-
staticGenerationStore.pendingRevalidates[cacheKey] =
|
|
533
|
-
return pendingResponse;
|
|
558
|
+
pendingRevalidate.catch(()=>{});
|
|
559
|
+
staticGenerationStore.pendingRevalidates[cacheKey] = pendingRevalidate;
|
|
560
|
+
return pendingResponse.then((responses)=>responses[1]);
|
|
534
561
|
} else {
|
|
535
562
|
return doOriginalFetch(false, cacheReasonOverride).finally(handleUnlock);
|
|
536
563
|
}
|
|
@@ -549,7 +576,7 @@ export function patchFetch(options) {
|
|
|
549
576
|
if (isPatchedFetch(globalThis.fetch)) return;
|
|
550
577
|
// Grab the original fetch function. We'll attach this so we can use it in
|
|
551
578
|
// the patched fetch function.
|
|
552
|
-
const original = globalThis.fetch;
|
|
579
|
+
const original = createDedupeFetch(globalThis.fetch);
|
|
553
580
|
// Set the global fetch to the patched fetch.
|
|
554
581
|
globalThis.fetch = createPatchedFetcher(original, options);
|
|
555
582
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/server/lib/patch-fetch.ts"],"names":["AppRenderSpan","NextNodeServerSpan","getTracer","SpanKind","CACHE_ONE_YEAR","NEXT_CACHE_IMPLICIT_TAG_ID","NEXT_CACHE_TAG_MAX_ITEMS","NEXT_CACHE_TAG_MAX_LENGTH","Log","trackDynamicFetch","isEdgeRuntime","process","env","NEXT_RUNTIME","isPatchedFetch","fetch","__nextPatched","validateRevalidate","revalidateVal","pathname","normalizedRevalidate","undefined","isNaN","Error","err","message","includes","validateTags","tags","description","validTags","invalidTags","i","length","tag","push","reason","console","warn","slice","join","log","getDerivedTags","derivedTags","startsWith","pathnameParts","split","curPathname","endsWith","addImplicitTags","staticGenerationStore","newTags","pagePath","urlPathname","Array","isArray","parsedPathname","URL","trackFetchMetric","ctx","requestEndedState","ended","NODE_ENV","fetchMetrics","dedupeFields","some","metric","every","field","end","Date","now","idx","nextFetchId","sort","a","b","aDur","start","bDur","createPatchedFetcher","originFetch","serverHooks","DynamicServerError","staticGenerationAsyncStorage","patched","input","init","url","Request","username","password","fetchUrl","href","fetchStart","method","toUpperCase","isInternal","next","internal","hideSpan","NEXT_OTEL_FETCH_DISABLED","trace","internalFetch","kind","CLIENT","spanName","filter","Boolean","attributes","hostname","port","getRequestMeta","getStore","isDraftMode","isRequestInput","value","revalidate","getNextField","curRevalidate","toString","implicitTags","fetchCacheMode","fetchCache","isUsingNoStore","isUnstableNoStore","_cache","cacheReason","_headers","initHeaders","get","Headers","hasUnCacheableHeader","isUnCacheableMethod","toLowerCase","autoNoCache","forceStatic","isCacheableRevalidate","cacheKey","incrementalCache","fetchCacheKey","error","fetchIdx","doOriginalFetch","isStale","cacheReasonOverride","requestInputFields","reqInput","reqOptions","body","_ogBody","signal","otherInput","clonedInit","fetchType","then","res","cacheStatus","status","bodyBuffer","Buffer","from","arrayBuffer","set","data","headers","Object","fromEntries","entries","response","Response","defineProperty","handleUnlock","Promise","resolve","isForegroundRevalidate","lock","entry","isOnDemandRevalidate","kindHint","softTags","isRevalidate","pendingRevalidates","catch","finally","resData","isStaticGeneration","cache","dynamicUsageReason","dynamicUsageErr","dynamicUsageDescription","hasNextConfig","forceDynamic","pendingRevalidate","clone","pendingResponse","nextRevalidate","__nextGetStaticStore","_nextOriginalFetch","patchFetch","options","globalThis","original"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/server/lib/patch-fetch.ts"],"names":["AppRenderSpan","NextNodeServerSpan","getTracer","SpanKind","CACHE_ONE_YEAR","NEXT_CACHE_IMPLICIT_TAG_ID","NEXT_CACHE_TAG_MAX_ITEMS","NEXT_CACHE_TAG_MAX_LENGTH","Log","trackDynamicFetch","createDedupeFetch","cloneResponse","isEdgeRuntime","process","env","NEXT_RUNTIME","isPatchedFetch","fetch","__nextPatched","validateRevalidate","revalidateVal","pathname","normalizedRevalidate","undefined","isNaN","Error","err","message","includes","validateTags","tags","description","validTags","invalidTags","i","length","tag","push","reason","console","warn","slice","join","log","getDerivedTags","derivedTags","startsWith","pathnameParts","split","curPathname","endsWith","addImplicitTags","staticGenerationStore","newTags","pagePath","urlPathname","Array","isArray","parsedPathname","URL","trackFetchMetric","ctx","requestEndedState","ended","NODE_ENV","fetchMetrics","dedupeFields","some","metric","every","field","end","Date","now","idx","nextFetchId","sort","a","b","aDur","start","bDur","createPatchedFetcher","originFetch","serverHooks","DynamicServerError","staticGenerationAsyncStorage","patched","input","init","url","Request","username","password","fetchUrl","href","fetchStart","method","toUpperCase","isInternal","next","internal","hideSpan","NEXT_OTEL_FETCH_DISABLED","trace","internalFetch","kind","CLIENT","spanName","filter","Boolean","attributes","hostname","port","getRequestMeta","getStore","isDraftMode","isRequestInput","value","revalidate","getNextField","curRevalidate","toString","implicitTags","fetchCacheMode","fetchCache","isUsingNoStore","isUnstableNoStore","_cache","cacheReason","_headers","initHeaders","get","Headers","hasUnCacheableHeader","isUnCacheableMethod","toLowerCase","autoNoCache","forceStatic","isCacheableRevalidate","cacheKey","incrementalCache","fetchCacheKey","error","fetchIdx","doOriginalFetch","isStale","cacheReasonOverride","requestInputFields","reqInput","reqOptions","body","_ogBody","signal","otherInput","clonedInit","fetchType","then","res","cacheStatus","status","bodyBuffer","Buffer","from","arrayBuffer","set","data","headers","Object","fromEntries","entries","response","Response","defineProperty","handleUnlock","Promise","resolve","isForegroundRevalidate","lock","entry","isOnDemandRevalidate","kindHint","softTags","isRevalidate","pendingRevalidates","pendingRevalidate","statusText","finally","catch","resData","isStaticGeneration","cache","dynamicUsageReason","dynamicUsageErr","dynamicUsageDescription","hasNextConfig","forceDynamic","revalidatedResult","pendingResponse","responses","__nextGetStaticStore","_nextOriginalFetch","patchFetch","options","globalThis","original"],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ export async function getRequestHandlers({ dir, port, isDev, server, hostname, m
|
|
|
39
39
|
export async function startServer(serverOptions) {
|
|
40
40
|
const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate } = serverOptions;
|
|
41
41
|
let { port } = serverOptions;
|
|
42
|
-
process.title = `next-server (v${"14.2.
|
|
42
|
+
process.title = `next-server (v${"14.2.20"})`;
|
|
43
43
|
let handlersReady = ()=>{};
|
|
44
44
|
let handlersError = ()=>{};
|
|
45
45
|
let handlersPromise = new Promise((resolve, reject)=>{
|
package/dist/server/config.js
CHANGED
|
@@ -263,7 +263,7 @@ function assignDefaults(dir, userConfig, silent) {
|
|
|
263
263
|
..._configshared.defaultConfig,
|
|
264
264
|
...config
|
|
265
265
|
};
|
|
266
|
-
if (((_result_experimental = result.experimental) == null ? void 0 : _result_experimental.ppr) && !"14.2.
|
|
266
|
+
if (((_result_experimental = result.experimental) == null ? void 0 : _result_experimental.ppr) && !"14.2.20".includes("canary") && !process.env.__NEXT_TEST_MODE) {
|
|
267
267
|
throw new Error(`The experimental.ppr preview feature can only be enabled when using the latest canary version of Next.js. See more info here: https://nextjs.org/docs/messages/ppr-preview`);
|
|
268
268
|
}
|
|
269
269
|
if (result.output === "export") {
|
|
@@ -96,7 +96,7 @@ async function createHotReloaderTurbopack(opts, serverFields, distDir) {
|
|
|
96
96
|
}
|
|
97
97
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
|
98
98
|
const hotReloaderSpan = (0, _trace.trace)("hot-reloader", undefined, {
|
|
99
|
-
version: "14.2.
|
|
99
|
+
version: "14.2.20"
|
|
100
100
|
});
|
|
101
101
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
|
102
102
|
// of the current `next dev` invocation.
|
|
@@ -265,7 +265,7 @@ class HotReloaderWebpack {
|
|
|
265
265
|
this.previewProps = previewProps;
|
|
266
266
|
this.rewrites = rewrites;
|
|
267
267
|
this.hotReloaderSpan = (0, _trace.trace)("hot-reloader", undefined, {
|
|
268
|
-
version: "14.2.
|
|
268
|
+
version: "14.2.20"
|
|
269
269
|
});
|
|
270
270
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
|
271
271
|
// of the current `next dev` invocation.
|
|
@@ -67,7 +67,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
67
67
|
return newObj;
|
|
68
68
|
}
|
|
69
69
|
function logStartInfo({ networkUrl, appUrl, envInfo, expFeatureInfo, maxExperimentalFeatures = Infinity }) {
|
|
70
|
-
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"14.2.
|
|
70
|
+
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"14.2.20"}`))}${process.env.TURBOPACK ? " (turbo)" : ""}`);
|
|
71
71
|
if (appUrl) {
|
|
72
72
|
_log.bootstrap(`- Local: ${appUrl}`);
|
|
73
73
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clones a response by teeing the body so we can return two independent
|
|
3
|
+
* ReadableStreams from it. This avoids the bug in the undici library around
|
|
4
|
+
* response cloning.
|
|
5
|
+
*
|
|
6
|
+
* After cloning, the original response's body will be consumed and closed.
|
|
7
|
+
*
|
|
8
|
+
* @see https://github.com/vercel/next.js/pull/73274
|
|
9
|
+
*
|
|
10
|
+
* @param original - The original response to clone.
|
|
11
|
+
* @returns A tuple containing two independent clones of the original response.
|
|
12
|
+
*/
|
|
13
|
+
export declare function cloneResponse(original: Response): [Response, Response];
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clones a response by teeing the body so we can return two independent
|
|
3
|
+
* ReadableStreams from it. This avoids the bug in the undici library around
|
|
4
|
+
* response cloning.
|
|
5
|
+
*
|
|
6
|
+
* After cloning, the original response's body will be consumed and closed.
|
|
7
|
+
*
|
|
8
|
+
* @see https://github.com/vercel/next.js/pull/73274
|
|
9
|
+
*
|
|
10
|
+
* @param original - The original response to clone.
|
|
11
|
+
* @returns A tuple containing two independent clones of the original response.
|
|
12
|
+
*/ "use strict";
|
|
13
|
+
Object.defineProperty(exports, "__esModule", {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(exports, "cloneResponse", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function() {
|
|
19
|
+
return cloneResponse;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
function cloneResponse(original) {
|
|
23
|
+
// If the response has no body, then we can just return the original response
|
|
24
|
+
// twice because it's immutable.
|
|
25
|
+
if (!original.body) {
|
|
26
|
+
return [
|
|
27
|
+
original,
|
|
28
|
+
original
|
|
29
|
+
];
|
|
30
|
+
}
|
|
31
|
+
const [body1, body2] = original.body.tee();
|
|
32
|
+
const cloned1 = new Response(body1, {
|
|
33
|
+
status: original.status,
|
|
34
|
+
statusText: original.statusText,
|
|
35
|
+
headers: original.headers
|
|
36
|
+
});
|
|
37
|
+
Object.defineProperty(cloned1, "url", {
|
|
38
|
+
value: original.url
|
|
39
|
+
});
|
|
40
|
+
const cloned2 = new Response(body2, {
|
|
41
|
+
status: original.status,
|
|
42
|
+
statusText: original.statusText,
|
|
43
|
+
headers: original.headers
|
|
44
|
+
});
|
|
45
|
+
Object.defineProperty(cloned2, "url", {
|
|
46
|
+
value: original.url
|
|
47
|
+
});
|
|
48
|
+
return [
|
|
49
|
+
cloned1,
|
|
50
|
+
cloned2
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=clone-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/server/lib/clone-response.ts"],"names":["cloneResponse","original","body","body1","body2","tee","cloned1","Response","status","statusText","headers","Object","defineProperty","value","url","cloned2"],"mappings":"AAAA;;;;;;;;;;;CAWC;;;;+BACeA;;;eAAAA;;;AAAT,SAASA,cAAcC,QAAkB;IAC9C,6EAA6E;IAC7E,gCAAgC;IAChC,IAAI,CAACA,SAASC,IAAI,EAAE;QAClB,OAAO;YAACD;YAAUA;SAAS;IAC7B;IAEA,MAAM,CAACE,OAAOC,MAAM,GAAGH,SAASC,IAAI,CAACG,GAAG;IAExC,MAAMC,UAAU,IAAIC,SAASJ,OAAO;QAClCK,QAAQP,SAASO,MAAM;QACvBC,YAAYR,SAASQ,UAAU;QAC/BC,SAAST,SAASS,OAAO;IAC3B;IAEAC,OAAOC,cAAc,CAACN,SAAS,OAAO;QACpCO,OAAOZ,SAASa,GAAG;IACrB;IAEA,MAAMC,UAAU,IAAIR,SAASH,OAAO;QAClCI,QAAQP,SAASO,MAAM;QACvBC,YAAYR,SAASQ,UAAU;QAC/BC,SAAST,SAASS,OAAO;IAC3B;IAEAC,OAAOC,cAAc,CAACG,SAAS,OAAO;QACpCF,OAAOZ,SAASa,GAAG;IACrB;IAEA,OAAO;QAACR;QAASS;KAAQ;AAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createDedupeFetch(originalFetch: typeof fetch): (resource: URL | RequestInfo, options?: RequestInit) => Promise<Response>;
|