next 15.5.3 → 15.5.5

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 (91) hide show
  1. package/config.js +12 -1
  2. package/dist/bin/next +1 -1
  3. package/dist/build/index.js +2 -2
  4. package/dist/build/swc/index.js +1 -1
  5. package/dist/build/templates/app-page.js +1 -2
  6. package/dist/build/templates/app-page.js.map +1 -1
  7. package/dist/build/templates/app-route.js +1 -2
  8. package/dist/build/templates/app-route.js.map +1 -1
  9. package/dist/build/webpack/loaders/devtool/devtool-style-inject.js +31 -26
  10. package/dist/build/webpack/loaders/devtool/devtool-style-inject.js.map +1 -1
  11. package/dist/build/webpack-config.js +2 -2
  12. package/dist/client/app-bootstrap.js +1 -1
  13. package/dist/client/index.js +1 -1
  14. package/dist/compiled/babel/bundle.js +1 -1
  15. package/dist/compiled/babel/code-frame.js +1 -1
  16. package/dist/compiled/babel-code-frame/LICENSE +22 -0
  17. package/dist/compiled/babel-code-frame/index.js +1 -0
  18. package/dist/compiled/babel-code-frame/package.json +1 -0
  19. package/dist/compiled/next-devtools/index.js +2 -2
  20. package/dist/compiled/next-devtools/index.js.map +1 -1
  21. package/dist/compiled/next-server/pages-api-turbo.runtime.dev.js +1 -1
  22. package/dist/compiled/next-server/pages-api-turbo.runtime.dev.js.map +1 -1
  23. package/dist/compiled/next-server/pages-turbo.runtime.dev.js +1 -1
  24. package/dist/compiled/next-server/pages-turbo.runtime.dev.js.map +1 -1
  25. package/dist/compiled/next-server/server.runtime.prod.js +3 -3
  26. package/dist/compiled/next-server/server.runtime.prod.js.map +1 -1
  27. package/dist/esm/build/index.js +2 -2
  28. package/dist/esm/build/swc/index.js +1 -1
  29. package/dist/esm/build/templates/app-page.js +1 -2
  30. package/dist/esm/build/templates/app-page.js.map +1 -1
  31. package/dist/esm/build/templates/app-route.js +1 -2
  32. package/dist/esm/build/templates/app-route.js.map +1 -1
  33. package/dist/esm/build/webpack/loaders/devtool/devtool-style-inject.js +31 -26
  34. package/dist/esm/build/webpack/loaders/devtool/devtool-style-inject.js.map +1 -1
  35. package/dist/esm/build/webpack-config.js +2 -2
  36. package/dist/esm/client/app-bootstrap.js +1 -1
  37. package/dist/esm/client/index.js +1 -1
  38. package/dist/esm/server/body-streams.js +21 -3
  39. package/dist/esm/server/body-streams.js.map +1 -1
  40. package/dist/esm/server/config-schema.js +1 -0
  41. package/dist/esm/server/config-schema.js.map +1 -1
  42. package/dist/esm/server/config-shared.js +2 -1
  43. package/dist/esm/server/config-shared.js.map +1 -1
  44. package/dist/esm/server/config.js +35 -7
  45. package/dist/esm/server/config.js.map +1 -1
  46. package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
  47. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  48. package/dist/esm/server/lib/app-info-log.js +1 -1
  49. package/dist/esm/server/lib/router-utils/resolve-routes.js +2 -1
  50. package/dist/esm/server/lib/router-utils/resolve-routes.js.map +1 -1
  51. package/dist/esm/server/lib/router-utils/typegen.js +2 -0
  52. package/dist/esm/server/lib/router-utils/typegen.js.map +1 -1
  53. package/dist/esm/server/lib/start-server.js +1 -1
  54. package/dist/esm/server/next-server.js +3 -1
  55. package/dist/esm/server/next-server.js.map +1 -1
  56. package/dist/esm/server/web/spec-extension/unstable-cache.js +26 -6
  57. package/dist/esm/server/web/spec-extension/unstable-cache.js.map +1 -1
  58. package/dist/esm/shared/lib/canary-only.js +1 -1
  59. package/dist/esm/shared/lib/runtime-config.external.js +6 -2
  60. package/dist/esm/shared/lib/runtime-config.external.js.map +1 -1
  61. package/dist/next-devtools/dev-overlay/hooks/use-on-click-outside.d.ts +2 -1
  62. package/dist/server/body-streams.d.ts +1 -1
  63. package/dist/server/body-streams.js +26 -3
  64. package/dist/server/body-streams.js.map +1 -1
  65. package/dist/server/config-schema.js +1 -0
  66. package/dist/server/config-schema.js.map +1 -1
  67. package/dist/server/config-shared.d.ts +10 -2
  68. package/dist/server/config-shared.js +2 -1
  69. package/dist/server/config-shared.js.map +1 -1
  70. package/dist/server/config.js +35 -7
  71. package/dist/server/config.js.map +1 -1
  72. package/dist/server/dev/hot-reloader-turbopack.js +1 -1
  73. package/dist/server/dev/hot-reloader-webpack.js +1 -1
  74. package/dist/server/lib/app-info-log.js +1 -1
  75. package/dist/server/lib/router-utils/resolve-routes.js +2 -1
  76. package/dist/server/lib/router-utils/resolve-routes.js.map +1 -1
  77. package/dist/server/lib/router-utils/typegen.js +2 -0
  78. package/dist/server/lib/router-utils/typegen.js.map +1 -1
  79. package/dist/server/lib/start-server.js +1 -1
  80. package/dist/server/next-server.js +3 -1
  81. package/dist/server/next-server.js.map +1 -1
  82. package/dist/server/web/spec-extension/unstable-cache.js +26 -6
  83. package/dist/server/web/spec-extension/unstable-cache.js.map +1 -1
  84. package/dist/shared/lib/canary-only.js +1 -1
  85. package/dist/shared/lib/runtime-config.external.d.ts +6 -0
  86. package/dist/shared/lib/runtime-config.external.js +3 -1
  87. package/dist/shared/lib/runtime-config.external.js.map +1 -1
  88. package/dist/telemetry/anonymous-meta.js +1 -1
  89. package/dist/telemetry/events/session-stopped.js +2 -2
  90. package/dist/telemetry/events/version.js +2 -2
  91. package/package.json +15 -15
@@ -158,15 +158,35 @@ async function cacheNewResult(result, incrementalCache, cacheKey, tags, revalida
158
158
  // to background revalidate it by checking if it is stale.
159
159
  const cachedResponse = cacheEntry.value.data.body !== undefined ? JSON.parse(cacheEntry.value.data.body) : undefined;
160
160
  if (cacheEntry.isStale) {
161
- // In App Router we return the stale result and revalidate in the background
162
161
  if (!workStore.pendingRevalidates) {
163
162
  workStore.pendingRevalidates = {};
164
163
  }
165
- // We run the cache function asynchronously and save the result when it completes
166
- workStore.pendingRevalidates[invocationKey] = workUnitAsyncStorage.run(innerCacheStore, cb, ...args).then((result)=>{
167
- return cacheNewResult(result, incrementalCache, cacheKey, tags, options.revalidate, fetchIdx, fetchUrl);
168
- })// @TODO This error handling seems wrong. We swallow the error?
169
- .catch((err)=>console.error(`revalidating cache with key: ${invocationKey}`, err));
164
+ // Check if there's already a pending revalidation to avoid duplicate work
165
+ if (!workStore.pendingRevalidates[invocationKey]) {
166
+ // Create the revalidation promise
167
+ const revalidationPromise = workUnitAsyncStorage.run(innerCacheStore, cb, ...args).then(async (result)=>{
168
+ await cacheNewResult(result, incrementalCache, cacheKey, tags, options.revalidate, fetchIdx, fetchUrl);
169
+ return result;
170
+ }).catch((err)=>{
171
+ // @TODO This error handling seems wrong. We swallow the error?
172
+ console.error(`revalidating cache with key: ${invocationKey}`, err);
173
+ // Return the stale value on error for foreground revalidation
174
+ return cachedResponse;
175
+ });
176
+ // Attach the empty catch here so we don't get a "unhandled promise
177
+ // rejection" warning. (Behavior is matched with patch-fetch)
178
+ if (workStore.isRevalidate) {
179
+ revalidationPromise.catch(()=>{});
180
+ }
181
+ workStore.pendingRevalidates[invocationKey] = revalidationPromise;
182
+ }
183
+ // Check if we need to do foreground revalidation
184
+ if (workStore.isRevalidate) {
185
+ // When the page is revalidating and the cache entry is stale,
186
+ // we need to wait for fresh data (blocking revalidate)
187
+ return workStore.pendingRevalidates[invocationKey];
188
+ }
189
+ // Otherwise, we're doing background revalidation - return stale immediately
170
190
  }
171
191
  // We had a valid cache entry so we return it here
172
192
  return cachedResponse;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/server/web/spec-extension/unstable-cache.ts"],"sourcesContent":["import type { IncrementalCache } from '../../lib/incremental-cache'\n\nimport { CACHE_ONE_YEAR } from '../../../lib/constants'\nimport { validateRevalidate, validateTags } from '../../lib/patch-fetch'\nimport {\n workAsyncStorage,\n type WorkStore,\n} from '../../app-render/work-async-storage.external'\nimport {\n getCacheSignal,\n getDraftModeProviderForCacheScope,\n workUnitAsyncStorage,\n} from '../../app-render/work-unit-async-storage.external'\nimport {\n CachedRouteKind,\n IncrementalCacheKind,\n type CachedFetchData,\n} from '../../response-cache'\nimport type {\n UnstableCacheStore,\n WorkUnitStore,\n} from '../../app-render/work-unit-async-storage.external'\n\ntype Callback = (...args: any[]) => Promise<any>\n\nlet noStoreFetchIdx = 0\n\nasync function cacheNewResult<T>(\n result: T,\n incrementalCache: IncrementalCache,\n cacheKey: string,\n tags: string[],\n revalidate: number | false | undefined,\n fetchIdx: number,\n fetchUrl: string\n): Promise<unknown> {\n await incrementalCache.set(\n cacheKey,\n {\n kind: CachedRouteKind.FETCH,\n data: {\n headers: {},\n // TODO: handle non-JSON values?\n body: JSON.stringify(result),\n status: 200,\n url: '',\n } satisfies CachedFetchData,\n revalidate: typeof revalidate !== 'number' ? CACHE_ONE_YEAR : revalidate,\n },\n { fetchCache: true, tags, fetchIdx, fetchUrl }\n )\n return\n}\n\n/**\n * This function allows you to cache the results of expensive operations, like database queries, and reuse them across multiple requests.\n *\n * Read more: [Next.js Docs: `unstable_cache`](https://nextjs.org/docs/app/api-reference/functions/unstable_cache)\n */\nexport function unstable_cache<T extends Callback>(\n cb: T,\n keyParts?: string[],\n options: {\n /**\n * The revalidation interval in seconds.\n */\n revalidate?: number | false\n tags?: string[]\n } = {}\n): T {\n if (options.revalidate === 0) {\n throw new Error(\n `Invariant revalidate: 0 can not be passed to unstable_cache(), must be \"false\" or \"> 0\" ${cb.toString()}`\n )\n }\n\n // Validate the tags provided are valid\n const tags = options.tags\n ? validateTags(options.tags, `unstable_cache ${cb.toString()}`)\n : []\n\n // Validate the revalidate options\n validateRevalidate(\n options.revalidate,\n `unstable_cache ${cb.name || cb.toString()}`\n )\n\n // Stash the fixed part of the key at construction time. The invocation key will combine\n // the fixed key with the arguments when actually called\n // @TODO if cb.toString() is long we should hash it\n // @TODO come up with a collision-free way to combine keyParts\n // @TODO consider validating the keyParts are all strings. TS can't provide runtime guarantees\n // and the error produced by accidentally using something that cannot be safely coerced is likely\n // hard to debug\n const fixedKey = `${cb.toString()}-${\n Array.isArray(keyParts) && keyParts.join(',')\n }`\n\n const cachedCb = async (...args: any[]) => {\n const workStore = workAsyncStorage.getStore()\n const workUnitStore = workUnitAsyncStorage.getStore()\n\n // We must be able to find the incremental cache otherwise we throw\n const maybeIncrementalCache:\n | import('../../lib/incremental-cache').IncrementalCache\n | undefined =\n workStore?.incrementalCache || (globalThis as any).__incrementalCache\n\n if (!maybeIncrementalCache) {\n throw new Error(\n `Invariant: incrementalCache missing in unstable_cache ${cb.toString()}`\n )\n }\n const incrementalCache = maybeIncrementalCache\n\n const cacheSignal = workUnitStore ? getCacheSignal(workUnitStore) : null\n if (cacheSignal) {\n cacheSignal.beginRead()\n }\n try {\n // If there's no request store, we aren't in a request (or we're not in\n // app router) and if there's no static generation store, we aren't in app\n // router. Default to an empty pathname and search params when there's no\n // request store or static generation store available.\n const fetchUrlPrefix =\n workStore && workUnitStore\n ? getFetchUrlPrefix(workStore, workUnitStore)\n : ''\n\n // Construct the complete cache key for this function invocation\n // @TODO stringify is likely not safe here. We will coerce undefined to null which will make\n // the keyspace smaller than the execution space\n const invocationKey = `${fixedKey}-${JSON.stringify(args)}`\n const cacheKey = await incrementalCache.generateCacheKey(invocationKey)\n // $urlWithPath,$sortedQueryStringKeys,$hashOfEveryThingElse\n const fetchUrl = `unstable_cache ${fetchUrlPrefix} ${cb.name ? ` ${cb.name}` : cacheKey}`\n const fetchIdx =\n (workStore ? workStore.nextFetchId : noStoreFetchIdx) ?? 1\n\n const implicitTags = workUnitStore?.implicitTags\n\n const innerCacheStore: UnstableCacheStore = {\n type: 'unstable-cache',\n phase: 'render',\n implicitTags,\n draftMode:\n workUnitStore &&\n workStore &&\n getDraftModeProviderForCacheScope(workStore, workUnitStore),\n }\n\n if (workStore) {\n workStore.nextFetchId = fetchIdx + 1\n\n // We are in an App Router context. We try to return the cached entry if it exists and is valid\n // If the entry is fresh we return it. If the entry is stale we return it but revalidate the entry in\n // the background. If the entry is missing or invalid we generate a new entry and return it.\n\n let isNestedUnstableCache = false\n\n if (workUnitStore) {\n switch (workUnitStore.type) {\n case 'cache':\n case 'private-cache':\n case 'prerender':\n case 'prerender-runtime':\n case 'prerender-ppr':\n case 'prerender-legacy':\n // We update the store's revalidate property if the option.revalidate is a higher precedence\n // options.revalidate === undefined doesn't affect timing.\n // options.revalidate === false doesn't shrink timing. it stays at the maximum.\n if (typeof options.revalidate === 'number') {\n if (workUnitStore.revalidate < options.revalidate) {\n // The store is already revalidating on a shorter time interval, leave it alone\n } else {\n workUnitStore.revalidate = options.revalidate\n }\n }\n\n // We need to accumulate the tags for this invocation within the store\n const collectedTags = workUnitStore.tags\n if (collectedTags === null) {\n workUnitStore.tags = tags.slice()\n } else {\n for (const tag of tags) {\n // @TODO refactor tags to be a set to avoid this O(n) lookup\n if (!collectedTags.includes(tag)) {\n collectedTags.push(tag)\n }\n }\n }\n break\n case 'unstable-cache':\n isNestedUnstableCache = true\n break\n case 'prerender-client':\n case 'request':\n break\n default:\n workUnitStore satisfies never\n }\n }\n\n if (\n // when we are nested inside of other unstable_cache's\n // we should bypass cache similar to fetches\n !isNestedUnstableCache &&\n workStore.fetchCache !== 'force-no-store' &&\n !workStore.isOnDemandRevalidate &&\n !incrementalCache.isOnDemandRevalidate &&\n !workStore.isDraftMode\n ) {\n // We attempt to get the current cache entry from the incremental cache.\n const cacheEntry = await incrementalCache.get(cacheKey, {\n kind: IncrementalCacheKind.FETCH,\n revalidate: options.revalidate,\n tags,\n softTags: implicitTags?.tags,\n fetchIdx,\n fetchUrl,\n })\n\n if (cacheEntry && cacheEntry.value) {\n // The entry exists and has a value\n if (cacheEntry.value.kind !== CachedRouteKind.FETCH) {\n // The entry is invalid and we need a special warning\n // @TODO why do we warn this way? Should this just be an error? How are these errors surfaced\n // so bugs can be reported\n // @TODO the invocation key can have sensitive data in it. we should not log this entire object\n console.error(\n `Invariant invalid cacheEntry returned for ${invocationKey}`\n )\n // will fall through to generating a new cache entry below\n } else {\n // We have a valid cache entry so we will be returning it. We also check to see if we need\n // to background revalidate it by checking if it is stale.\n const cachedResponse =\n cacheEntry.value.data.body !== undefined\n ? JSON.parse(cacheEntry.value.data.body)\n : undefined\n if (cacheEntry.isStale) {\n // In App Router we return the stale result and revalidate in the background\n if (!workStore.pendingRevalidates) {\n workStore.pendingRevalidates = {}\n }\n\n // We run the cache function asynchronously and save the result when it completes\n workStore.pendingRevalidates[invocationKey] =\n workUnitAsyncStorage\n .run(innerCacheStore, cb, ...args)\n .then((result) => {\n return cacheNewResult(\n result,\n incrementalCache,\n cacheKey,\n tags,\n options.revalidate,\n fetchIdx,\n fetchUrl\n )\n })\n // @TODO This error handling seems wrong. We swallow the error?\n .catch((err) =>\n console.error(\n `revalidating cache with key: ${invocationKey}`,\n err\n )\n )\n }\n // We had a valid cache entry so we return it here\n return cachedResponse\n }\n }\n }\n\n // If we got this far then we had an invalid cache entry and need to generate a new one\n const result = await workUnitAsyncStorage.run(\n innerCacheStore,\n cb,\n ...args\n )\n\n if (!workStore.isDraftMode) {\n if (!workStore.pendingRevalidates) {\n workStore.pendingRevalidates = {}\n }\n\n // We need to push the cache result promise to pending\n // revalidates otherwise it won't be awaited and is just\n // dangling\n workStore.pendingRevalidates[invocationKey] = cacheNewResult(\n result,\n incrementalCache,\n cacheKey,\n tags,\n options.revalidate,\n fetchIdx,\n fetchUrl\n )\n }\n\n return result\n } else {\n noStoreFetchIdx += 1\n // We are in Pages Router or were called outside of a render. We don't have a store\n // so we just call the callback directly when it needs to run.\n // If the entry is fresh we return it. If the entry is stale we return it but revalidate the entry in\n // the background. If the entry is missing or invalid we generate a new entry and return it.\n\n if (!incrementalCache.isOnDemandRevalidate) {\n // We aren't doing an on demand revalidation so we check use the cache if valid\n const cacheEntry = await incrementalCache.get(cacheKey, {\n kind: IncrementalCacheKind.FETCH,\n revalidate: options.revalidate,\n tags,\n fetchIdx,\n fetchUrl,\n softTags: implicitTags?.tags,\n })\n\n if (cacheEntry && cacheEntry.value) {\n // The entry exists and has a value\n if (cacheEntry.value.kind !== CachedRouteKind.FETCH) {\n // The entry is invalid and we need a special warning\n // @TODO why do we warn this way? Should this just be an error? How are these errors surfaced\n // so bugs can be reported\n console.error(\n `Invariant invalid cacheEntry returned for ${invocationKey}`\n )\n // will fall through to generating a new cache entry below\n } else if (!cacheEntry.isStale) {\n // We have a valid cache entry and it is fresh so we return it\n return cacheEntry.value.data.body !== undefined\n ? JSON.parse(cacheEntry.value.data.body)\n : undefined\n }\n }\n }\n\n // If we got this far then we had an invalid cache entry and need to generate a new one\n const result = await workUnitAsyncStorage.run(\n innerCacheStore,\n cb,\n ...args\n )\n\n // we need to wait setting the new cache result here as\n // we don't have pending revalidates on workStore to\n // push to and we can't have a dangling promise\n await cacheNewResult(\n result,\n incrementalCache,\n cacheKey,\n tags,\n options.revalidate,\n fetchIdx,\n fetchUrl\n )\n return result\n }\n } finally {\n if (cacheSignal) {\n cacheSignal.endRead()\n }\n }\n }\n // TODO: once AsyncLocalStorage.run() returns the correct types this override will no longer be necessary\n return cachedCb as unknown as T\n}\n\nfunction getFetchUrlPrefix(\n workStore: WorkStore,\n workUnitStore: WorkUnitStore\n): string {\n switch (workUnitStore.type) {\n case 'request':\n const pathname = workUnitStore.url.pathname\n const searchParams = new URLSearchParams(workUnitStore.url.search)\n\n const sortedSearch = [...searchParams.keys()]\n .sort((a, b) => a.localeCompare(b))\n .map((key) => `${key}=${searchParams.get(key)}`)\n .join('&')\n\n return `${pathname}${sortedSearch.length ? '?' : ''}${sortedSearch}`\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n return workStore.route\n default:\n return workUnitStore satisfies never\n }\n}\n"],"names":["CACHE_ONE_YEAR","validateRevalidate","validateTags","workAsyncStorage","getCacheSignal","getDraftModeProviderForCacheScope","workUnitAsyncStorage","CachedRouteKind","IncrementalCacheKind","noStoreFetchIdx","cacheNewResult","result","incrementalCache","cacheKey","tags","revalidate","fetchIdx","fetchUrl","set","kind","FETCH","data","headers","body","JSON","stringify","status","url","fetchCache","unstable_cache","cb","keyParts","options","Error","toString","name","fixedKey","Array","isArray","join","cachedCb","args","workStore","getStore","workUnitStore","maybeIncrementalCache","globalThis","__incrementalCache","cacheSignal","beginRead","fetchUrlPrefix","getFetchUrlPrefix","invocationKey","generateCacheKey","nextFetchId","implicitTags","innerCacheStore","type","phase","draftMode","isNestedUnstableCache","collectedTags","slice","tag","includes","push","isOnDemandRevalidate","isDraftMode","cacheEntry","get","softTags","value","console","error","cachedResponse","undefined","parse","isStale","pendingRevalidates","run","then","catch","err","endRead","pathname","searchParams","URLSearchParams","search","sortedSearch","keys","sort","a","b","localeCompare","map","key","length","route"],"mappings":"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","ignoreList":[0]}
1
+ {"version":3,"sources":["../../../../src/server/web/spec-extension/unstable-cache.ts"],"sourcesContent":["import type { IncrementalCache } from '../../lib/incremental-cache'\n\nimport { CACHE_ONE_YEAR } from '../../../lib/constants'\nimport { validateRevalidate, validateTags } from '../../lib/patch-fetch'\nimport {\n workAsyncStorage,\n type WorkStore,\n} from '../../app-render/work-async-storage.external'\nimport {\n getCacheSignal,\n getDraftModeProviderForCacheScope,\n workUnitAsyncStorage,\n} from '../../app-render/work-unit-async-storage.external'\nimport {\n CachedRouteKind,\n IncrementalCacheKind,\n type CachedFetchData,\n} from '../../response-cache'\nimport type {\n UnstableCacheStore,\n WorkUnitStore,\n} from '../../app-render/work-unit-async-storage.external'\n\ntype Callback = (...args: any[]) => Promise<any>\n\nlet noStoreFetchIdx = 0\n\nasync function cacheNewResult<T>(\n result: T,\n incrementalCache: IncrementalCache,\n cacheKey: string,\n tags: string[],\n revalidate: number | false | undefined,\n fetchIdx: number,\n fetchUrl: string\n): Promise<unknown> {\n await incrementalCache.set(\n cacheKey,\n {\n kind: CachedRouteKind.FETCH,\n data: {\n headers: {},\n // TODO: handle non-JSON values?\n body: JSON.stringify(result),\n status: 200,\n url: '',\n } satisfies CachedFetchData,\n revalidate: typeof revalidate !== 'number' ? CACHE_ONE_YEAR : revalidate,\n },\n { fetchCache: true, tags, fetchIdx, fetchUrl }\n )\n return\n}\n\n/**\n * This function allows you to cache the results of expensive operations, like database queries, and reuse them across multiple requests.\n *\n * Read more: [Next.js Docs: `unstable_cache`](https://nextjs.org/docs/app/api-reference/functions/unstable_cache)\n */\nexport function unstable_cache<T extends Callback>(\n cb: T,\n keyParts?: string[],\n options: {\n /**\n * The revalidation interval in seconds.\n */\n revalidate?: number | false\n tags?: string[]\n } = {}\n): T {\n if (options.revalidate === 0) {\n throw new Error(\n `Invariant revalidate: 0 can not be passed to unstable_cache(), must be \"false\" or \"> 0\" ${cb.toString()}`\n )\n }\n\n // Validate the tags provided are valid\n const tags = options.tags\n ? validateTags(options.tags, `unstable_cache ${cb.toString()}`)\n : []\n\n // Validate the revalidate options\n validateRevalidate(\n options.revalidate,\n `unstable_cache ${cb.name || cb.toString()}`\n )\n\n // Stash the fixed part of the key at construction time. The invocation key will combine\n // the fixed key with the arguments when actually called\n // @TODO if cb.toString() is long we should hash it\n // @TODO come up with a collision-free way to combine keyParts\n // @TODO consider validating the keyParts are all strings. TS can't provide runtime guarantees\n // and the error produced by accidentally using something that cannot be safely coerced is likely\n // hard to debug\n const fixedKey = `${cb.toString()}-${\n Array.isArray(keyParts) && keyParts.join(',')\n }`\n\n const cachedCb = async (...args: any[]) => {\n const workStore = workAsyncStorage.getStore()\n const workUnitStore = workUnitAsyncStorage.getStore()\n\n // We must be able to find the incremental cache otherwise we throw\n const maybeIncrementalCache:\n | import('../../lib/incremental-cache').IncrementalCache\n | undefined =\n workStore?.incrementalCache || (globalThis as any).__incrementalCache\n\n if (!maybeIncrementalCache) {\n throw new Error(\n `Invariant: incrementalCache missing in unstable_cache ${cb.toString()}`\n )\n }\n const incrementalCache = maybeIncrementalCache\n\n const cacheSignal = workUnitStore ? getCacheSignal(workUnitStore) : null\n if (cacheSignal) {\n cacheSignal.beginRead()\n }\n try {\n // If there's no request store, we aren't in a request (or we're not in\n // app router) and if there's no static generation store, we aren't in app\n // router. Default to an empty pathname and search params when there's no\n // request store or static generation store available.\n const fetchUrlPrefix =\n workStore && workUnitStore\n ? getFetchUrlPrefix(workStore, workUnitStore)\n : ''\n\n // Construct the complete cache key for this function invocation\n // @TODO stringify is likely not safe here. We will coerce undefined to null which will make\n // the keyspace smaller than the execution space\n const invocationKey = `${fixedKey}-${JSON.stringify(args)}`\n const cacheKey = await incrementalCache.generateCacheKey(invocationKey)\n // $urlWithPath,$sortedQueryStringKeys,$hashOfEveryThingElse\n const fetchUrl = `unstable_cache ${fetchUrlPrefix} ${cb.name ? ` ${cb.name}` : cacheKey}`\n const fetchIdx =\n (workStore ? workStore.nextFetchId : noStoreFetchIdx) ?? 1\n\n const implicitTags = workUnitStore?.implicitTags\n\n const innerCacheStore: UnstableCacheStore = {\n type: 'unstable-cache',\n phase: 'render',\n implicitTags,\n draftMode:\n workUnitStore &&\n workStore &&\n getDraftModeProviderForCacheScope(workStore, workUnitStore),\n }\n\n if (workStore) {\n workStore.nextFetchId = fetchIdx + 1\n\n // We are in an App Router context. We try to return the cached entry if it exists and is valid\n // If the entry is fresh we return it. If the entry is stale we return it but revalidate the entry in\n // the background. If the entry is missing or invalid we generate a new entry and return it.\n\n let isNestedUnstableCache = false\n\n if (workUnitStore) {\n switch (workUnitStore.type) {\n case 'cache':\n case 'private-cache':\n case 'prerender':\n case 'prerender-runtime':\n case 'prerender-ppr':\n case 'prerender-legacy':\n // We update the store's revalidate property if the option.revalidate is a higher precedence\n // options.revalidate === undefined doesn't affect timing.\n // options.revalidate === false doesn't shrink timing. it stays at the maximum.\n if (typeof options.revalidate === 'number') {\n if (workUnitStore.revalidate < options.revalidate) {\n // The store is already revalidating on a shorter time interval, leave it alone\n } else {\n workUnitStore.revalidate = options.revalidate\n }\n }\n\n // We need to accumulate the tags for this invocation within the store\n const collectedTags = workUnitStore.tags\n if (collectedTags === null) {\n workUnitStore.tags = tags.slice()\n } else {\n for (const tag of tags) {\n // @TODO refactor tags to be a set to avoid this O(n) lookup\n if (!collectedTags.includes(tag)) {\n collectedTags.push(tag)\n }\n }\n }\n break\n case 'unstable-cache':\n isNestedUnstableCache = true\n break\n case 'prerender-client':\n case 'request':\n break\n default:\n workUnitStore satisfies never\n }\n }\n\n if (\n // when we are nested inside of other unstable_cache's\n // we should bypass cache similar to fetches\n !isNestedUnstableCache &&\n workStore.fetchCache !== 'force-no-store' &&\n !workStore.isOnDemandRevalidate &&\n !incrementalCache.isOnDemandRevalidate &&\n !workStore.isDraftMode\n ) {\n // We attempt to get the current cache entry from the incremental cache.\n const cacheEntry = await incrementalCache.get(cacheKey, {\n kind: IncrementalCacheKind.FETCH,\n revalidate: options.revalidate,\n tags,\n softTags: implicitTags?.tags,\n fetchIdx,\n fetchUrl,\n })\n\n if (cacheEntry && cacheEntry.value) {\n // The entry exists and has a value\n if (cacheEntry.value.kind !== CachedRouteKind.FETCH) {\n // The entry is invalid and we need a special warning\n // @TODO why do we warn this way? Should this just be an error? How are these errors surfaced\n // so bugs can be reported\n // @TODO the invocation key can have sensitive data in it. we should not log this entire object\n console.error(\n `Invariant invalid cacheEntry returned for ${invocationKey}`\n )\n // will fall through to generating a new cache entry below\n } else {\n // We have a valid cache entry so we will be returning it. We also check to see if we need\n // to background revalidate it by checking if it is stale.\n const cachedResponse =\n cacheEntry.value.data.body !== undefined\n ? JSON.parse(cacheEntry.value.data.body)\n : undefined\n\n if (cacheEntry.isStale) {\n if (!workStore.pendingRevalidates) {\n workStore.pendingRevalidates = {}\n }\n\n // Check if there's already a pending revalidation to avoid duplicate work\n if (!workStore.pendingRevalidates[invocationKey]) {\n // Create the revalidation promise\n const revalidationPromise = workUnitAsyncStorage\n .run(innerCacheStore, cb, ...args)\n .then(async (result) => {\n await cacheNewResult(\n result,\n incrementalCache,\n cacheKey,\n tags,\n options.revalidate,\n fetchIdx,\n fetchUrl\n )\n return result\n })\n .catch((err) => {\n // @TODO This error handling seems wrong. We swallow the error?\n console.error(\n `revalidating cache with key: ${invocationKey}`,\n err\n )\n // Return the stale value on error for foreground revalidation\n return cachedResponse\n })\n\n // Attach the empty catch here so we don't get a \"unhandled promise\n // rejection\" warning. (Behavior is matched with patch-fetch)\n if (workStore.isRevalidate) {\n revalidationPromise.catch(() => {})\n }\n\n workStore.pendingRevalidates[invocationKey] =\n revalidationPromise\n }\n\n // Check if we need to do foreground revalidation\n if (workStore.isRevalidate) {\n // When the page is revalidating and the cache entry is stale,\n // we need to wait for fresh data (blocking revalidate)\n return workStore.pendingRevalidates[invocationKey]\n }\n // Otherwise, we're doing background revalidation - return stale immediately\n }\n\n // We had a valid cache entry so we return it here\n return cachedResponse\n }\n }\n }\n\n // If we got this far then we had an invalid cache entry and need to generate a new one\n const result = await workUnitAsyncStorage.run(\n innerCacheStore,\n cb,\n ...args\n )\n\n if (!workStore.isDraftMode) {\n if (!workStore.pendingRevalidates) {\n workStore.pendingRevalidates = {}\n }\n\n // We need to push the cache result promise to pending\n // revalidates otherwise it won't be awaited and is just\n // dangling\n workStore.pendingRevalidates[invocationKey] = cacheNewResult(\n result,\n incrementalCache,\n cacheKey,\n tags,\n options.revalidate,\n fetchIdx,\n fetchUrl\n )\n }\n\n return result\n } else {\n noStoreFetchIdx += 1\n // We are in Pages Router or were called outside of a render. We don't have a store\n // so we just call the callback directly when it needs to run.\n // If the entry is fresh we return it. If the entry is stale we return it but revalidate the entry in\n // the background. If the entry is missing or invalid we generate a new entry and return it.\n\n if (!incrementalCache.isOnDemandRevalidate) {\n // We aren't doing an on demand revalidation so we check use the cache if valid\n const cacheEntry = await incrementalCache.get(cacheKey, {\n kind: IncrementalCacheKind.FETCH,\n revalidate: options.revalidate,\n tags,\n fetchIdx,\n fetchUrl,\n softTags: implicitTags?.tags,\n })\n\n if (cacheEntry && cacheEntry.value) {\n // The entry exists and has a value\n if (cacheEntry.value.kind !== CachedRouteKind.FETCH) {\n // The entry is invalid and we need a special warning\n // @TODO why do we warn this way? Should this just be an error? How are these errors surfaced\n // so bugs can be reported\n console.error(\n `Invariant invalid cacheEntry returned for ${invocationKey}`\n )\n // will fall through to generating a new cache entry below\n } else if (!cacheEntry.isStale) {\n // We have a valid cache entry and it is fresh so we return it\n return cacheEntry.value.data.body !== undefined\n ? JSON.parse(cacheEntry.value.data.body)\n : undefined\n }\n }\n }\n\n // If we got this far then we had an invalid cache entry and need to generate a new one\n const result = await workUnitAsyncStorage.run(\n innerCacheStore,\n cb,\n ...args\n )\n\n // we need to wait setting the new cache result here as\n // we don't have pending revalidates on workStore to\n // push to and we can't have a dangling promise\n await cacheNewResult(\n result,\n incrementalCache,\n cacheKey,\n tags,\n options.revalidate,\n fetchIdx,\n fetchUrl\n )\n return result\n }\n } finally {\n if (cacheSignal) {\n cacheSignal.endRead()\n }\n }\n }\n // TODO: once AsyncLocalStorage.run() returns the correct types this override will no longer be necessary\n return cachedCb as unknown as T\n}\n\nfunction getFetchUrlPrefix(\n workStore: WorkStore,\n workUnitStore: WorkUnitStore\n): string {\n switch (workUnitStore.type) {\n case 'request':\n const pathname = workUnitStore.url.pathname\n const searchParams = new URLSearchParams(workUnitStore.url.search)\n\n const sortedSearch = [...searchParams.keys()]\n .sort((a, b) => a.localeCompare(b))\n .map((key) => `${key}=${searchParams.get(key)}`)\n .join('&')\n\n return `${pathname}${sortedSearch.length ? '?' : ''}${sortedSearch}`\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n return workStore.route\n default:\n return workUnitStore satisfies never\n }\n}\n"],"names":["CACHE_ONE_YEAR","validateRevalidate","validateTags","workAsyncStorage","getCacheSignal","getDraftModeProviderForCacheScope","workUnitAsyncStorage","CachedRouteKind","IncrementalCacheKind","noStoreFetchIdx","cacheNewResult","result","incrementalCache","cacheKey","tags","revalidate","fetchIdx","fetchUrl","set","kind","FETCH","data","headers","body","JSON","stringify","status","url","fetchCache","unstable_cache","cb","keyParts","options","Error","toString","name","fixedKey","Array","isArray","join","cachedCb","args","workStore","getStore","workUnitStore","maybeIncrementalCache","globalThis","__incrementalCache","cacheSignal","beginRead","fetchUrlPrefix","getFetchUrlPrefix","invocationKey","generateCacheKey","nextFetchId","implicitTags","innerCacheStore","type","phase","draftMode","isNestedUnstableCache","collectedTags","slice","tag","includes","push","isOnDemandRevalidate","isDraftMode","cacheEntry","get","softTags","value","console","error","cachedResponse","undefined","parse","isStale","pendingRevalidates","revalidationPromise","run","then","catch","err","isRevalidate","endRead","pathname","searchParams","URLSearchParams","search","sortedSearch","keys","sort","a","b","localeCompare","map","key","length","route"],"mappings":"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","ignoreList":[0]}
@@ -1,6 +1,6 @@
1
1
  export function isStableBuild() {
2
2
  var _process_env___NEXT_VERSION;
3
- return !((_process_env___NEXT_VERSION = "15.5.3") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
3
+ return !((_process_env___NEXT_VERSION = "15.5.5") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
4
4
  }
5
5
  export class CanaryOnlyError extends Error {
6
6
  constructor(arg){
@@ -1,8 +1,12 @@
1
1
  let runtimeConfig;
2
- export default (()=>{
2
+ /**
3
+ * @deprecated Runtime config is deprecated and will be removed in Next.js 16.
4
+ */ export default (()=>{
3
5
  return runtimeConfig;
4
6
  });
5
- export function setConfig(configValue) {
7
+ /**
8
+ * @deprecated Runtime config is deprecated and will be removed in Next.js 16.
9
+ */ export function setConfig(configValue) {
6
10
  runtimeConfig = configValue;
7
11
  }
8
12
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/shared/lib/runtime-config.external.ts"],"sourcesContent":["let runtimeConfig: any\n\nexport default () => {\n return runtimeConfig\n}\n\nexport function setConfig(configValue: any): void {\n runtimeConfig = configValue\n}\n"],"names":["runtimeConfig","setConfig","configValue"],"mappings":"AAAA,IAAIA;AAEJ,eAAe,CAAA;IACb,OAAOA;AACT,CAAA,EAAC;AAED,OAAO,SAASC,UAAUC,WAAgB;IACxCF,gBAAgBE;AAClB","ignoreList":[0]}
1
+ {"version":3,"sources":["../../../src/shared/lib/runtime-config.external.ts"],"sourcesContent":["let runtimeConfig: any\n\n/**\n * @deprecated Runtime config is deprecated and will be removed in Next.js 16.\n */\nexport default () => {\n return runtimeConfig\n}\n\n/**\n * @deprecated Runtime config is deprecated and will be removed in Next.js 16.\n */\nexport function setConfig(configValue: any): void {\n runtimeConfig = configValue\n}\n"],"names":["runtimeConfig","setConfig","configValue"],"mappings":"AAAA,IAAIA;AAEJ;;CAEC,GACD,eAAe,CAAA;IACb,OAAOA;AACT,CAAA,EAAC;AAED;;CAEC,GACD,OAAO,SAASC,UAAUC,WAAgB;IACxCF,gBAAgBE;AAClB","ignoreList":[0]}
@@ -1 +1,2 @@
1
- export declare function useOnClickOutside(el: Node | null, cssSelectorsToExclude: string[], handler: ((e: MouseEvent | TouchEvent) => void) | undefined): void;
1
+ import * as React from 'react';
2
+ export declare function useOnClickOutside(el: Node | React.RefObject<Node | null> | null, cssSelectorsToExclude: string[], handler: ((e: MouseEvent | TouchEvent) => void) | undefined): void;
@@ -7,4 +7,4 @@ export interface CloneableBody {
7
7
  finalize(): Promise<void>;
8
8
  cloneBodyStream(): Readable;
9
9
  }
10
- export declare function getCloneableBody<T extends IncomingMessage>(readable: T): CloneableBody;
10
+ export declare function getCloneableBody<T extends IncomingMessage>(readable: T, sizeLimit?: number): CloneableBody;
@@ -21,6 +21,14 @@ _export(exports, {
21
21
  }
22
22
  });
23
23
  const _stream = require("stream");
24
+ const _bytes = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/bytes"));
25
+ function _interop_require_default(obj) {
26
+ return obj && obj.__esModule ? obj : {
27
+ default: obj
28
+ };
29
+ }
30
+ const DEFAULT_BODY_CLONE_SIZE_LIMIT = 10 * 1024 * 1024 // 10MB
31
+ ;
24
32
  function requestToBodyStream(context, KUint8Array, stream) {
25
33
  return new context.ReadableStream({
26
34
  start: async (controller)=>{
@@ -41,7 +49,7 @@ function replaceRequestBody(base, stream) {
41
49
  }
42
50
  return base;
43
51
  }
44
- function getCloneableBody(readable) {
52
+ function getCloneableBody(readable, sizeLimit) {
45
53
  let buffered = null;
46
54
  const endPromise = new Promise((resolve, reject)=>{
47
55
  readable.on('end', resolve);
@@ -73,13 +81,28 @@ function getCloneableBody(readable) {
73
81
  const input = buffered ?? readable;
74
82
  const p1 = new _stream.PassThrough();
75
83
  const p2 = new _stream.PassThrough();
84
+ let bytesRead = 0;
85
+ const bodySizeLimit = sizeLimit ?? DEFAULT_BODY_CLONE_SIZE_LIMIT;
86
+ let limitExceeded = false;
76
87
  input.on('data', (chunk)=>{
88
+ if (limitExceeded) return;
89
+ bytesRead += chunk.length;
90
+ if (bytesRead > bodySizeLimit) {
91
+ limitExceeded = true;
92
+ const urlInfo = readable.url ? ` for ${readable.url}` : '';
93
+ console.warn(`Request body exceeded ${_bytes.default.format(bodySizeLimit)}${urlInfo}. Only the first ${_bytes.default.format(bodySizeLimit)} will be available unless configured. See https://nextjs.org/docs/app/api-reference/config/next-config-js/middlewareClientMaxBodySize for more details.`);
94
+ p1.push(null);
95
+ p2.push(null);
96
+ return;
97
+ }
77
98
  p1.push(chunk);
78
99
  p2.push(chunk);
79
100
  });
80
101
  input.on('end', ()=>{
81
- p1.push(null);
82
- p2.push(null);
102
+ if (!limitExceeded) {
103
+ p1.push(null);
104
+ p2.push(null);
105
+ }
83
106
  });
84
107
  buffered = p2;
85
108
  return p1;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/server/body-streams.ts"],"sourcesContent":["import type { IncomingMessage } from 'http'\nimport type { Readable } from 'stream'\nimport { PassThrough } from 'stream'\n\nexport function requestToBodyStream(\n context: { ReadableStream: typeof ReadableStream },\n KUint8Array: typeof Uint8Array,\n stream: Readable\n) {\n return new context.ReadableStream({\n start: async (controller) => {\n for await (const chunk of stream) {\n controller.enqueue(new KUint8Array(chunk))\n }\n controller.close()\n },\n })\n}\n\nfunction replaceRequestBody<T extends IncomingMessage>(\n base: T,\n stream: Readable\n): T {\n for (const key in stream) {\n let v = stream[key as keyof Readable] as any\n if (typeof v === 'function') {\n v = v.bind(base)\n }\n base[key as keyof T] = v\n }\n\n return base\n}\n\nexport interface CloneableBody {\n finalize(): Promise<void>\n cloneBodyStream(): Readable\n}\n\nexport function getCloneableBody<T extends IncomingMessage>(\n readable: T\n): CloneableBody {\n let buffered: Readable | null = null\n\n const endPromise = new Promise<void | { error?: unknown }>(\n (resolve, reject) => {\n readable.on('end', resolve)\n readable.on('error', reject)\n }\n ).catch((error) => {\n return { error }\n })\n\n return {\n /**\n * Replaces the original request body if necessary.\n * This is done because once we read the body from the original request,\n * we can't read it again.\n */\n async finalize(): Promise<void> {\n if (buffered) {\n const res = await endPromise\n\n if (res && typeof res === 'object' && res.error) {\n throw res.error\n }\n replaceRequestBody(readable, buffered)\n buffered = readable\n }\n },\n /**\n * Clones the body stream\n * to pass into a middleware\n */\n cloneBodyStream() {\n const input = buffered ?? readable\n const p1 = new PassThrough()\n const p2 = new PassThrough()\n input.on('data', (chunk) => {\n p1.push(chunk)\n p2.push(chunk)\n })\n input.on('end', () => {\n p1.push(null)\n p2.push(null)\n })\n buffered = p2\n return p1\n },\n }\n}\n"],"names":["getCloneableBody","requestToBodyStream","context","KUint8Array","stream","ReadableStream","start","controller","chunk","enqueue","close","replaceRequestBody","base","key","v","bind","readable","buffered","endPromise","Promise","resolve","reject","on","catch","error","finalize","res","cloneBodyStream","input","p1","PassThrough","p2","push"],"mappings":";;;;;;;;;;;;;;;IAuCgBA,gBAAgB;eAAhBA;;IAnCAC,mBAAmB;eAAnBA;;;wBAFY;AAErB,SAASA,oBACdC,OAAkD,EAClDC,WAA8B,EAC9BC,MAAgB;IAEhB,OAAO,IAAIF,QAAQG,cAAc,CAAC;QAChCC,OAAO,OAAOC;YACZ,WAAW,MAAMC,SAASJ,OAAQ;gBAChCG,WAAWE,OAAO,CAAC,IAAIN,YAAYK;YACrC;YACAD,WAAWG,KAAK;QAClB;IACF;AACF;AAEA,SAASC,mBACPC,IAAO,EACPR,MAAgB;IAEhB,IAAK,MAAMS,OAAOT,OAAQ;QACxB,IAAIU,IAAIV,MAAM,CAACS,IAAsB;QACrC,IAAI,OAAOC,MAAM,YAAY;YAC3BA,IAAIA,EAAEC,IAAI,CAACH;QACb;QACAA,IAAI,CAACC,IAAe,GAAGC;IACzB;IAEA,OAAOF;AACT;AAOO,SAASZ,iBACdgB,QAAW;IAEX,IAAIC,WAA4B;IAEhC,MAAMC,aAAa,IAAIC,QACrB,CAACC,SAASC;QACRL,SAASM,EAAE,CAAC,OAAOF;QACnBJ,SAASM,EAAE,CAAC,SAASD;IACvB,GACAE,KAAK,CAAC,CAACC;QACP,OAAO;YAAEA;QAAM;IACjB;IAEA,OAAO;QACL;;;;KAIC,GACD,MAAMC;YACJ,IAAIR,UAAU;gBACZ,MAAMS,MAAM,MAAMR;gBAElB,IAAIQ,OAAO,OAAOA,QAAQ,YAAYA,IAAIF,KAAK,EAAE;oBAC/C,MAAME,IAAIF,KAAK;gBACjB;gBACAb,mBAAmBK,UAAUC;gBAC7BA,WAAWD;YACb;QACF;QACA;;;KAGC,GACDW;YACE,MAAMC,QAAQX,YAAYD;YAC1B,MAAMa,KAAK,IAAIC,mBAAW;YAC1B,MAAMC,KAAK,IAAID,mBAAW;YAC1BF,MAAMN,EAAE,CAAC,QAAQ,CAACd;gBAChBqB,GAAGG,IAAI,CAACxB;gBACRuB,GAAGC,IAAI,CAACxB;YACV;YACAoB,MAAMN,EAAE,CAAC,OAAO;gBACdO,GAAGG,IAAI,CAAC;gBACRD,GAAGC,IAAI,CAAC;YACV;YACAf,WAAWc;YACX,OAAOF;QACT;IACF;AACF","ignoreList":[0]}
1
+ {"version":3,"sources":["../../src/server/body-streams.ts"],"sourcesContent":["import type { IncomingMessage } from 'http'\nimport type { Readable } from 'stream'\nimport { PassThrough } from 'stream'\nimport bytes from 'next/dist/compiled/bytes'\n\nconst DEFAULT_BODY_CLONE_SIZE_LIMIT = 10 * 1024 * 1024 // 10MB\n\nexport function requestToBodyStream(\n context: { ReadableStream: typeof ReadableStream },\n KUint8Array: typeof Uint8Array,\n stream: Readable\n) {\n return new context.ReadableStream({\n start: async (controller) => {\n for await (const chunk of stream) {\n controller.enqueue(new KUint8Array(chunk))\n }\n controller.close()\n },\n })\n}\n\nfunction replaceRequestBody<T extends IncomingMessage>(\n base: T,\n stream: Readable\n): T {\n for (const key in stream) {\n let v = stream[key as keyof Readable] as any\n if (typeof v === 'function') {\n v = v.bind(base)\n }\n base[key as keyof T] = v\n }\n\n return base\n}\n\nexport interface CloneableBody {\n finalize(): Promise<void>\n cloneBodyStream(): Readable\n}\n\nexport function getCloneableBody<T extends IncomingMessage>(\n readable: T,\n sizeLimit?: number\n): CloneableBody {\n let buffered: Readable | null = null\n\n const endPromise = new Promise<void | { error?: unknown }>(\n (resolve, reject) => {\n readable.on('end', resolve)\n readable.on('error', reject)\n }\n ).catch((error) => {\n return { error }\n })\n\n return {\n /**\n * Replaces the original request body if necessary.\n * This is done because once we read the body from the original request,\n * we can't read it again.\n */\n async finalize(): Promise<void> {\n if (buffered) {\n const res = await endPromise\n\n if (res && typeof res === 'object' && res.error) {\n throw res.error\n }\n replaceRequestBody(readable, buffered)\n buffered = readable\n }\n },\n /**\n * Clones the body stream\n * to pass into a middleware\n */\n cloneBodyStream() {\n const input = buffered ?? readable\n const p1 = new PassThrough()\n const p2 = new PassThrough()\n\n let bytesRead = 0\n const bodySizeLimit = sizeLimit ?? DEFAULT_BODY_CLONE_SIZE_LIMIT\n let limitExceeded = false\n\n input.on('data', (chunk) => {\n if (limitExceeded) return\n\n bytesRead += chunk.length\n\n if (bytesRead > bodySizeLimit) {\n limitExceeded = true\n const urlInfo = readable.url ? ` for ${readable.url}` : ''\n console.warn(\n `Request body exceeded ${bytes.format(bodySizeLimit)}${urlInfo}. Only the first ${bytes.format(bodySizeLimit)} will be available unless configured. See https://nextjs.org/docs/app/api-reference/config/next-config-js/middlewareClientMaxBodySize for more details.`\n )\n p1.push(null)\n p2.push(null)\n return\n }\n\n p1.push(chunk)\n p2.push(chunk)\n })\n input.on('end', () => {\n if (!limitExceeded) {\n p1.push(null)\n p2.push(null)\n }\n })\n buffered = p2\n return p1\n },\n }\n}\n"],"names":["getCloneableBody","requestToBodyStream","DEFAULT_BODY_CLONE_SIZE_LIMIT","context","KUint8Array","stream","ReadableStream","start","controller","chunk","enqueue","close","replaceRequestBody","base","key","v","bind","readable","sizeLimit","buffered","endPromise","Promise","resolve","reject","on","catch","error","finalize","res","cloneBodyStream","input","p1","PassThrough","p2","bytesRead","bodySizeLimit","limitExceeded","length","urlInfo","url","console","warn","bytes","format","push"],"mappings":";;;;;;;;;;;;;;;IA0CgBA,gBAAgB;eAAhBA;;IAnCAC,mBAAmB;eAAnBA;;;wBALY;8DACV;;;;;;AAElB,MAAMC,gCAAgC,KAAK,OAAO,KAAK,OAAO;;AAEvD,SAASD,oBACdE,OAAkD,EAClDC,WAA8B,EAC9BC,MAAgB;IAEhB,OAAO,IAAIF,QAAQG,cAAc,CAAC;QAChCC,OAAO,OAAOC;YACZ,WAAW,MAAMC,SAASJ,OAAQ;gBAChCG,WAAWE,OAAO,CAAC,IAAIN,YAAYK;YACrC;YACAD,WAAWG,KAAK;QAClB;IACF;AACF;AAEA,SAASC,mBACPC,IAAO,EACPR,MAAgB;IAEhB,IAAK,MAAMS,OAAOT,OAAQ;QACxB,IAAIU,IAAIV,MAAM,CAACS,IAAsB;QACrC,IAAI,OAAOC,MAAM,YAAY;YAC3BA,IAAIA,EAAEC,IAAI,CAACH;QACb;QACAA,IAAI,CAACC,IAAe,GAAGC;IACzB;IAEA,OAAOF;AACT;AAOO,SAASb,iBACdiB,QAAW,EACXC,SAAkB;IAElB,IAAIC,WAA4B;IAEhC,MAAMC,aAAa,IAAIC,QACrB,CAACC,SAASC;QACRN,SAASO,EAAE,CAAC,OAAOF;QACnBL,SAASO,EAAE,CAAC,SAASD;IACvB,GACAE,KAAK,CAAC,CAACC;QACP,OAAO;YAAEA;QAAM;IACjB;IAEA,OAAO;QACL;;;;KAIC,GACD,MAAMC;YACJ,IAAIR,UAAU;gBACZ,MAAMS,MAAM,MAAMR;gBAElB,IAAIQ,OAAO,OAAOA,QAAQ,YAAYA,IAAIF,KAAK,EAAE;oBAC/C,MAAME,IAAIF,KAAK;gBACjB;gBACAd,mBAAmBK,UAAUE;gBAC7BA,WAAWF;YACb;QACF;QACA;;;KAGC,GACDY;YACE,MAAMC,QAAQX,YAAYF;YAC1B,MAAMc,KAAK,IAAIC,mBAAW;YAC1B,MAAMC,KAAK,IAAID,mBAAW;YAE1B,IAAIE,YAAY;YAChB,MAAMC,gBAAgBjB,aAAahB;YACnC,IAAIkC,gBAAgB;YAEpBN,MAAMN,EAAE,CAAC,QAAQ,CAACf;gBAChB,IAAI2B,eAAe;gBAEnBF,aAAazB,MAAM4B,MAAM;gBAEzB,IAAIH,YAAYC,eAAe;oBAC7BC,gBAAgB;oBAChB,MAAME,UAAUrB,SAASsB,GAAG,GAAG,CAAC,KAAK,EAAEtB,SAASsB,GAAG,EAAE,GAAG;oBACxDC,QAAQC,IAAI,CACV,CAAC,sBAAsB,EAAEC,cAAK,CAACC,MAAM,CAACR,iBAAiBG,QAAQ,iBAAiB,EAAEI,cAAK,CAACC,MAAM,CAACR,eAAe,uJAAuJ,CAAC;oBAExQJ,GAAGa,IAAI,CAAC;oBACRX,GAAGW,IAAI,CAAC;oBACR;gBACF;gBAEAb,GAAGa,IAAI,CAACnC;gBACRwB,GAAGW,IAAI,CAACnC;YACV;YACAqB,MAAMN,EAAE,CAAC,OAAO;gBACd,IAAI,CAACY,eAAe;oBAClBL,GAAGa,IAAI,CAAC;oBACRX,GAAGW,IAAI,CAAC;gBACV;YACF;YACAzB,WAAWc;YACX,OAAOF;QACT;IACF;AACF","ignoreList":[0]}
@@ -353,6 +353,7 @@ const configSchema = _zod.z.lazy(()=>_zod.z.strictObject({
353
353
  'strict',
354
354
  'flexible'
355
355
  ]).optional(),
356
+ middlewareClientMaxBodySize: zSizeLimit.optional(),
356
357
  multiZoneDraftMode: _zod.z.boolean().optional(),
357
358
  cssChunking: _zod.z.union([
358
359
  _zod.z.boolean(),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/server/config-schema.ts"],"sourcesContent":["import type { NextConfig } from './config'\nimport { VALID_LOADERS } from '../shared/lib/image-config'\n\nimport { z } from 'next/dist/compiled/zod'\nimport type zod from 'next/dist/compiled/zod'\n\nimport type { SizeLimit } from '../types'\nimport type {\n ExportPathMap,\n TurbopackLoaderItem,\n DeprecatedExperimentalTurboOptions,\n TurbopackOptions,\n TurbopackRuleConfigItem,\n TurbopackRuleConfigItemOptions,\n TurbopackRuleConfigItemOrShortcut,\n TurbopackRuleCondition,\n TurbopackLoaderBuiltinCondition,\n} from './config-shared'\nimport type {\n Header,\n Rewrite,\n RouteHas,\n Redirect,\n} from '../lib/load-custom-routes'\nimport { SUPPORTED_TEST_RUNNERS_LIST } from '../cli/next-test'\n\n// A custom zod schema for the SizeLimit type\nconst zSizeLimit = z.custom<SizeLimit>((val) => {\n if (typeof val === 'number' || typeof val === 'string') {\n return true\n }\n return false\n})\n\nconst zExportMap: zod.ZodType<ExportPathMap> = z.record(\n z.string(),\n z.object({\n page: z.string(),\n query: z.any(), // NextParsedUrlQuery\n // private optional properties\n _fallbackRouteParams: z.array(z.string()).optional(),\n _isAppDir: z.boolean().optional(),\n _isDynamicError: z.boolean().optional(),\n _isRoutePPREnabled: z.boolean().optional(),\n _allowEmptyStaticShell: z.boolean().optional(),\n })\n)\n\nconst zRouteHas: zod.ZodType<RouteHas> = z.union([\n z.object({\n type: z.enum(['header', 'query', 'cookie']),\n key: z.string(),\n value: z.string().optional(),\n }),\n z.object({\n type: z.literal('host'),\n key: z.undefined().optional(),\n value: z.string(),\n }),\n])\n\nconst zRewrite: zod.ZodType<Rewrite> = z.object({\n source: z.string(),\n destination: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n internal: z.boolean().optional(),\n})\n\nconst zRedirect: zod.ZodType<Redirect> = z\n .object({\n source: z.string(),\n destination: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n internal: z.boolean().optional(),\n })\n .and(\n z.union([\n z.object({\n statusCode: z.never().optional(),\n permanent: z.boolean(),\n }),\n z.object({\n statusCode: z.number(),\n permanent: z.never().optional(),\n }),\n ])\n )\n\nconst zHeader: zod.ZodType<Header> = z.object({\n source: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n headers: z.array(z.object({ key: z.string(), value: z.string() })),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n\n internal: z.boolean().optional(),\n})\n\nconst zTurbopackLoaderItem: zod.ZodType<TurbopackLoaderItem> = z.union([\n z.string(),\n z.object({\n loader: z.string(),\n // Any JSON value can be used as turbo loader options, so use z.any() here\n options: z.record(z.string(), z.any()),\n }),\n])\n\nconst zTurbopackRuleConfigItemOptions: zod.ZodType<TurbopackRuleConfigItemOptions> =\n z.object({\n loaders: z.array(zTurbopackLoaderItem),\n as: z.string().optional(),\n })\n\nconst zTurbopackLoaderBuiltinCondition: zod.ZodType<TurbopackLoaderBuiltinCondition> =\n z.union([\n z.literal('default'),\n z.literal('browser'),\n z.literal('foreign'),\n z.literal('development'),\n z.literal('production'),\n z.literal('node'),\n z.literal('edge-light'),\n ])\n\nconst zTurbopackRuleConfigItem: zod.ZodType<TurbopackRuleConfigItem> = z.union([\n z.literal(false),\n z.record(\n zTurbopackLoaderBuiltinCondition,\n z.lazy(() => zTurbopackRuleConfigItem)\n ),\n zTurbopackRuleConfigItemOptions,\n])\nconst zTurbopackRuleConfigItemOrShortcut: zod.ZodType<TurbopackRuleConfigItemOrShortcut> =\n z.union([z.array(zTurbopackLoaderItem), zTurbopackRuleConfigItem])\n\nconst zTurbopackCondition: zod.ZodType<TurbopackRuleCondition> = z.object({\n path: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n content: z.instanceof(RegExp).optional(),\n})\n\nconst zTurbopackConfig: zod.ZodType<TurbopackOptions> = z.strictObject({\n rules: z.record(z.string(), zTurbopackRuleConfigItemOrShortcut).optional(),\n conditions: z.record(z.string(), zTurbopackCondition).optional(),\n resolveAlias: z\n .record(\n z.string(),\n z.union([\n z.string(),\n z.array(z.string()),\n z.record(z.string(), z.union([z.string(), z.array(z.string())])),\n ])\n )\n .optional(),\n resolveExtensions: z.array(z.string()).optional(),\n moduleIds: z.enum(['named', 'deterministic']).optional(),\n root: z.string().optional(),\n})\n\n// Same as zTurbopackConfig but with deprecated properties. Unfortunately, base\n// properties are duplicated here as `ZodType`s do not export `extend()`.\nconst zDeprecatedExperimentalTurboConfig: zod.ZodType<DeprecatedExperimentalTurboOptions> =\n z.strictObject({\n loaders: z.record(z.string(), z.array(zTurbopackLoaderItem)).optional(),\n rules: z.record(z.string(), zTurbopackRuleConfigItemOrShortcut).optional(),\n resolveAlias: z\n .record(\n z.string(),\n z.union([\n z.string(),\n z.array(z.string()),\n z.record(z.string(), z.union([z.string(), z.array(z.string())])),\n ])\n )\n .optional(),\n resolveExtensions: z.array(z.string()).optional(),\n treeShaking: z.boolean().optional(),\n persistentCaching: z.union([z.number(), z.literal(false)]).optional(),\n memoryLimit: z.number().optional(),\n moduleIds: z.enum(['named', 'deterministic']).optional(),\n minify: z.boolean().optional(),\n sourceMaps: z.boolean().optional(),\n root: z.string().optional(),\n })\n\nexport const configSchema: zod.ZodType<NextConfig> = z.lazy(() =>\n z.strictObject({\n allowedDevOrigins: z.array(z.string()).optional(),\n amp: z\n .object({\n canonicalBase: z.string().optional(),\n })\n .optional(),\n assetPrefix: z.string().optional(),\n basePath: z.string().optional(),\n bundlePagesRouterDependencies: z.boolean().optional(),\n cacheHandler: z.string().min(1).optional(),\n cacheMaxMemorySize: z.number().optional(),\n cleanDistDir: z.boolean().optional(),\n compiler: z\n .strictObject({\n emotion: z\n .union([\n z.boolean(),\n z.object({\n sourceMap: z.boolean().optional(),\n autoLabel: z\n .union([\n z.literal('always'),\n z.literal('dev-only'),\n z.literal('never'),\n ])\n .optional(),\n labelFormat: z.string().min(1).optional(),\n importMap: z\n .record(\n z.string(),\n z.record(\n z.string(),\n z.object({\n canonicalImport: z\n .tuple([z.string(), z.string()])\n .optional(),\n styledBaseImport: z\n .tuple([z.string(), z.string()])\n .optional(),\n })\n )\n )\n .optional(),\n }),\n ])\n .optional(),\n reactRemoveProperties: z\n .union([\n z.boolean().optional(),\n z.object({\n properties: z.array(z.string()).optional(),\n }),\n ])\n .optional(),\n relay: z\n .object({\n src: z.string(),\n artifactDirectory: z.string().optional(),\n language: z.enum(['javascript', 'typescript', 'flow']).optional(),\n eagerEsModules: z.boolean().optional(),\n })\n .optional(),\n removeConsole: z\n .union([\n z.boolean().optional(),\n z.object({\n exclude: z.array(z.string()).min(1).optional(),\n }),\n ])\n .optional(),\n styledComponents: z.union([\n z.boolean().optional(),\n z.object({\n displayName: z.boolean().optional(),\n topLevelImportPaths: z.array(z.string()).optional(),\n ssr: z.boolean().optional(),\n fileName: z.boolean().optional(),\n meaninglessFileNames: z.array(z.string()).optional(),\n minify: z.boolean().optional(),\n transpileTemplateLiterals: z.boolean().optional(),\n namespace: z.string().min(1).optional(),\n pure: z.boolean().optional(),\n cssProp: z.boolean().optional(),\n }),\n ]),\n styledJsx: z.union([\n z.boolean().optional(),\n z.object({\n useLightningcss: z.boolean().optional(),\n }),\n ]),\n define: z.record(z.string(), z.string()).optional(),\n defineServer: z.record(z.string(), z.string()).optional(),\n runAfterProductionCompile: z\n .function()\n .returns(z.promise(z.void()))\n .optional(),\n })\n .optional(),\n compress: z.boolean().optional(),\n configOrigin: z.string().optional(),\n crossOrigin: z\n .union([z.literal('anonymous'), z.literal('use-credentials')])\n .optional(),\n deploymentId: z.string().optional(),\n devIndicators: z\n .union([\n z.object({\n buildActivityPosition: z\n .union([\n z.literal('bottom-left'),\n z.literal('bottom-right'),\n z.literal('top-left'),\n z.literal('top-right'),\n ])\n .optional(),\n position: z\n .union([\n z.literal('bottom-left'),\n z.literal('bottom-right'),\n z.literal('top-left'),\n z.literal('top-right'),\n ])\n .optional(),\n }),\n z.literal(false),\n ])\n .optional(),\n distDir: z.string().min(1).optional(),\n env: z.record(z.string(), z.union([z.string(), z.undefined()])).optional(),\n eslint: z\n .strictObject({\n dirs: z.array(z.string().min(1)).optional(),\n ignoreDuringBuilds: z.boolean().optional(),\n })\n .optional(),\n excludeDefaultMomentLocales: z.boolean().optional(),\n experimental: z\n .strictObject({\n adapterPath: z.string().optional(),\n useSkewCookie: z.boolean().optional(),\n after: z.boolean().optional(),\n appDocumentPreloading: z.boolean().optional(),\n appNavFailHandling: z.boolean().optional(),\n preloadEntriesOnStart: z.boolean().optional(),\n allowedRevalidateHeaderKeys: z.array(z.string()).optional(),\n amp: z\n .object({\n // AMP optimizer option is unknown, use z.any() here\n optimizer: z.any().optional(),\n skipValidation: z.boolean().optional(),\n validator: z.string().optional(),\n })\n .optional(),\n staleTimes: z\n .object({\n dynamic: z.number().optional(),\n static: z.number().optional(),\n })\n .optional(),\n cacheLife: z\n .record(\n z.object({\n stale: z.number().optional(),\n revalidate: z.number().optional(),\n expire: z.number().optional(),\n })\n )\n .optional(),\n cacheHandlers: z.record(z.string(), z.string().optional()).optional(),\n clientRouterFilter: z.boolean().optional(),\n clientRouterFilterRedirects: z.boolean().optional(),\n clientRouterFilterAllowedRate: z.number().optional(),\n cpus: z.number().optional(),\n memoryBasedWorkersCount: z.boolean().optional(),\n craCompat: z.boolean().optional(),\n caseSensitiveRoutes: z.boolean().optional(),\n clientSegmentCache: z\n .union([z.boolean(), z.literal('client-only')])\n .optional(),\n clientParamParsing: z.boolean().optional(),\n dynamicOnHover: z.boolean().optional(),\n disableOptimizedLoading: z.boolean().optional(),\n disablePostcssPresetEnv: z.boolean().optional(),\n cacheComponents: z.boolean().optional(),\n dynamicIO: z.boolean().optional(),\n inlineCss: z.boolean().optional(),\n esmExternals: z.union([z.boolean(), z.literal('loose')]).optional(),\n serverActions: z\n .object({\n bodySizeLimit: zSizeLimit.optional(),\n allowedOrigins: z.array(z.string()).optional(),\n })\n .optional(),\n // The original type was Record<string, any>\n extensionAlias: z.record(z.string(), z.any()).optional(),\n externalDir: z.boolean().optional(),\n externalMiddlewareRewritesResolve: z.boolean().optional(),\n fallbackNodePolyfills: z.literal(false).optional(),\n fetchCacheKeyPrefix: z.string().optional(),\n forceSwcTransforms: z.boolean().optional(),\n fullySpecified: z.boolean().optional(),\n gzipSize: z.boolean().optional(),\n imgOptConcurrency: z.number().int().optional().nullable(),\n imgOptTimeoutInSeconds: z.number().int().optional(),\n imgOptMaxInputPixels: z.number().int().optional(),\n imgOptSequentialRead: z.boolean().optional().nullable(),\n imgOptSkipMetadata: z.boolean().optional().nullable(),\n isrFlushToDisk: z.boolean().optional(),\n largePageDataBytes: z.number().optional(),\n linkNoTouchStart: z.boolean().optional(),\n manualClientBasePath: z.boolean().optional(),\n middlewarePrefetch: z.enum(['strict', 'flexible']).optional(),\n multiZoneDraftMode: z.boolean().optional(),\n cssChunking: z.union([z.boolean(), z.literal('strict')]).optional(),\n nextScriptWorkers: z.boolean().optional(),\n // The critter option is unknown, use z.any() here\n optimizeCss: z.union([z.boolean(), z.any()]).optional(),\n optimisticClientCache: z.boolean().optional(),\n parallelServerCompiles: z.boolean().optional(),\n parallelServerBuildTraces: z.boolean().optional(),\n ppr: z\n .union([z.boolean(), z.literal('incremental')])\n .readonly()\n .optional(),\n taint: z.boolean().optional(),\n prerenderEarlyExit: z.boolean().optional(),\n proxyTimeout: z.number().gte(0).optional(),\n rootParams: z.boolean().optional(),\n routerBFCache: z.boolean().optional(),\n removeUncaughtErrorAndRejectionListeners: z.boolean().optional(),\n validateRSCRequestHeaders: z.boolean().optional(),\n scrollRestoration: z.boolean().optional(),\n sri: z\n .object({\n algorithm: z.enum(['sha256', 'sha384', 'sha512']).optional(),\n })\n .optional(),\n swcPlugins: z\n // The specific swc plugin's option is unknown, use z.any() here\n .array(z.tuple([z.string(), z.record(z.string(), z.any())]))\n .optional(),\n swcTraceProfiling: z.boolean().optional(),\n // NonNullable<webpack.Configuration['experiments']>['buildHttp']\n urlImports: z.any().optional(),\n viewTransition: z.boolean().optional(),\n workerThreads: z.boolean().optional(),\n webVitalsAttribution: z\n .array(\n z.union([\n z.literal('CLS'),\n z.literal('FCP'),\n z.literal('FID'),\n z.literal('INP'),\n z.literal('LCP'),\n z.literal('TTFB'),\n ])\n )\n .optional(),\n // This is partial set of mdx-rs transform options we support, aligned\n // with next_core::next_config::MdxRsOptions. Ensure both types are kept in sync.\n mdxRs: z\n .union([\n z.boolean(),\n z.object({\n development: z.boolean().optional(),\n jsxRuntime: z.string().optional(),\n jsxImportSource: z.string().optional(),\n providerImportSource: z.string().optional(),\n mdxType: z.enum(['gfm', 'commonmark']).optional(),\n }),\n ])\n .optional(),\n typedRoutes: z.boolean().optional(),\n webpackBuildWorker: z.boolean().optional(),\n webpackMemoryOptimizations: z.boolean().optional(),\n /**\n * @deprecated Use `config.turbopack` instead.\n */\n turbo: zDeprecatedExperimentalTurboConfig.optional(),\n turbopackMemoryLimit: z.number().optional(),\n turbopackMinify: z.boolean().optional(),\n turbopackPersistentCaching: z.boolean().optional(),\n turbopackSourceMaps: z.boolean().optional(),\n turbopackTreeShaking: z.boolean().optional(),\n turbopackRemoveUnusedExports: z.boolean().optional(),\n turbopackScopeHoisting: z.boolean().optional(),\n /**\n * Use the system-provided CA roots instead of bundled CA roots for external HTTPS requests\n * made by Turbopack. Currently this is only used for fetching data from Google Fonts.\n *\n * This may be useful in cases where you or an employer are MITMing traffic.\n *\n * This option is experimental because:\n * - This may cause small performance problems, as it uses [`rustls-native-certs`](\n * https://github.com/rustls/rustls-native-certs).\n * - In the future, this may become the default, and this option may be eliminated, once\n * <https://github.com/seanmonstar/reqwest/issues/2159> is resolved.\n *\n * Users who need to configure this behavior system-wide can override the project\n * configuration using the `NEXT_TURBOPACK_EXPERIMENTAL_USE_SYSTEM_TLS_CERTS=1` environment\n * variable.\n *\n * This option is ignored on Windows on ARM, where the native TLS implementation is always\n * used.\n *\n * If you need to set a proxy, Turbopack [respects the common `HTTP_PROXY` and `HTTPS_PROXY`\n * environment variable convention](https://docs.rs/reqwest/latest/reqwest/#proxies). HTTP\n * proxies are supported, SOCKS proxies are not currently supported.\n */\n turbopackUseSystemTlsCerts: z.boolean().optional(),\n optimizePackageImports: z.array(z.string()).optional(),\n optimizeServerReact: z.boolean().optional(),\n clientTraceMetadata: z.array(z.string()).optional(),\n serverMinification: z.boolean().optional(),\n enablePrerenderSourceMaps: z.boolean().optional(),\n serverSourceMaps: z.boolean().optional(),\n useWasmBinary: z.boolean().optional(),\n useLightningcss: z.boolean().optional(),\n testProxy: z.boolean().optional(),\n defaultTestRunner: z.enum(SUPPORTED_TEST_RUNNERS_LIST).optional(),\n allowDevelopmentBuild: z.literal(true).optional(),\n reactCompiler: z.union([\n z.boolean(),\n z\n .object({\n compilationMode: z\n .enum(['infer', 'annotation', 'all'])\n .optional(),\n panicThreshold: z\n .enum(['ALL_ERRORS', 'CRITICAL_ERRORS', 'NONE'])\n .optional(),\n })\n .optional(),\n ]),\n staticGenerationRetryCount: z.number().int().optional(),\n staticGenerationMaxConcurrency: z.number().int().optional(),\n staticGenerationMinPagesPerWorker: z.number().int().optional(),\n typedEnv: z.boolean().optional(),\n serverComponentsHmrCache: z.boolean().optional(),\n authInterrupts: z.boolean().optional(),\n useCache: z.boolean().optional(),\n slowModuleDetection: z\n .object({\n buildTimeThresholdMs: z.number().int(),\n })\n .optional(),\n globalNotFound: z.boolean().optional(),\n devtoolSegmentExplorer: z.boolean().optional(),\n browserDebugInfoInTerminal: z\n .union([\n z.boolean(),\n z.object({\n depthLimit: z.number().int().positive().optional(),\n edgeLimit: z.number().int().positive().optional(),\n showSourceLocation: z.boolean().optional(),\n }),\n ])\n .optional(),\n optimizeRouterScrolling: z.boolean().optional(),\n })\n .optional(),\n exportPathMap: z\n .function()\n .args(\n zExportMap,\n z.object({\n dev: z.boolean(),\n dir: z.string(),\n outDir: z.string().nullable(),\n distDir: z.string(),\n buildId: z.string(),\n })\n )\n .returns(z.union([zExportMap, z.promise(zExportMap)]))\n .optional(),\n generateBuildId: z\n .function()\n .args()\n .returns(\n z.union([\n z.string(),\n z.null(),\n z.promise(z.union([z.string(), z.null()])),\n ])\n )\n .optional(),\n generateEtags: z.boolean().optional(),\n headers: z\n .function()\n .args()\n .returns(z.promise(z.array(zHeader)))\n .optional(),\n htmlLimitedBots: z.instanceof(RegExp).optional(),\n httpAgentOptions: z\n .strictObject({ keepAlive: z.boolean().optional() })\n .optional(),\n i18n: z\n .strictObject({\n defaultLocale: z.string().min(1),\n domains: z\n .array(\n z.strictObject({\n defaultLocale: z.string().min(1),\n domain: z.string().min(1),\n http: z.literal(true).optional(),\n locales: z.array(z.string().min(1)).optional(),\n })\n )\n .optional(),\n localeDetection: z.literal(false).optional(),\n locales: z.array(z.string().min(1)),\n })\n .nullable()\n .optional(),\n images: z\n .strictObject({\n localPatterns: z\n .array(\n z.strictObject({\n pathname: z.string().optional(),\n search: z.string().optional(),\n })\n )\n .max(25)\n .optional(),\n remotePatterns: z\n .array(\n z.union([\n z.instanceof(URL),\n z.strictObject({\n hostname: z.string(),\n pathname: z.string().optional(),\n port: z.string().max(5).optional(),\n protocol: z.enum(['http', 'https']).optional(),\n search: z.string().optional(),\n }),\n ])\n )\n .max(50)\n .optional(),\n unoptimized: z.boolean().optional(),\n contentSecurityPolicy: z.string().optional(),\n contentDispositionType: z.enum(['inline', 'attachment']).optional(),\n dangerouslyAllowSVG: z.boolean().optional(),\n deviceSizes: z\n .array(z.number().int().gte(1).lte(10000))\n .max(25)\n .optional(),\n disableStaticImages: z.boolean().optional(),\n domains: z.array(z.string()).max(50).optional(),\n formats: z\n .array(z.enum(['image/avif', 'image/webp']))\n .max(4)\n .optional(),\n imageSizes: z\n .array(z.number().int().gte(1).lte(10000))\n .min(0)\n .max(25)\n .optional(),\n loader: z.enum(VALID_LOADERS).optional(),\n loaderFile: z.string().optional(),\n minimumCacheTTL: z.number().int().gte(0).optional(),\n path: z.string().optional(),\n qualities: z\n .array(z.number().int().gte(1).lte(100))\n .min(1)\n .max(20)\n .optional(),\n })\n .optional(),\n logging: z\n .union([\n z.object({\n fetches: z\n .object({\n fullUrl: z.boolean().optional(),\n hmrRefreshes: z.boolean().optional(),\n })\n .optional(),\n incomingRequests: z\n .union([\n z.boolean(),\n z.object({\n ignore: z.array(z.instanceof(RegExp)),\n }),\n ])\n .optional(),\n }),\n z.literal(false),\n ])\n .optional(),\n modularizeImports: z\n .record(\n z.string(),\n z.object({\n transform: z.union([z.string(), z.record(z.string(), z.string())]),\n preventFullImport: z.boolean().optional(),\n skipDefaultConversion: z.boolean().optional(),\n })\n )\n .optional(),\n onDemandEntries: z\n .strictObject({\n maxInactiveAge: z.number().optional(),\n pagesBufferLength: z.number().optional(),\n })\n .optional(),\n output: z.enum(['standalone', 'export']).optional(),\n outputFileTracingRoot: z.string().optional(),\n outputFileTracingExcludes: z\n .record(z.string(), z.array(z.string()))\n .optional(),\n outputFileTracingIncludes: z\n .record(z.string(), z.array(z.string()))\n .optional(),\n pageExtensions: z.array(z.string()).min(1).optional(),\n poweredByHeader: z.boolean().optional(),\n productionBrowserSourceMaps: z.boolean().optional(),\n publicRuntimeConfig: z.record(z.string(), z.any()).optional(),\n reactProductionProfiling: z.boolean().optional(),\n reactStrictMode: z.boolean().nullable().optional(),\n reactMaxHeadersLength: z.number().nonnegative().int().optional(),\n redirects: z\n .function()\n .args()\n .returns(z.promise(z.array(zRedirect)))\n .optional(),\n rewrites: z\n .function()\n .args()\n .returns(\n z.promise(\n z.union([\n z.array(zRewrite),\n z.object({\n beforeFiles: z.array(zRewrite),\n afterFiles: z.array(zRewrite),\n fallback: z.array(zRewrite),\n }),\n ])\n )\n )\n .optional(),\n // sassOptions properties are unknown besides implementation, use z.any() here\n sassOptions: z\n .object({\n implementation: z.string().optional(),\n })\n .catchall(z.any())\n .optional(),\n serverExternalPackages: z.array(z.string()).optional(),\n serverRuntimeConfig: z.record(z.string(), z.any()).optional(),\n skipMiddlewareUrlNormalize: z.boolean().optional(),\n skipTrailingSlashRedirect: z.boolean().optional(),\n staticPageGenerationTimeout: z.number().optional(),\n expireTime: z.number().optional(),\n target: z.string().optional(),\n trailingSlash: z.boolean().optional(),\n transpilePackages: z.array(z.string()).optional(),\n turbopack: zTurbopackConfig.optional(),\n typescript: z\n .strictObject({\n ignoreBuildErrors: z.boolean().optional(),\n tsconfigPath: z.string().min(1).optional(),\n })\n .optional(),\n typedRoutes: z.boolean().optional(),\n useFileSystemPublicRoutes: z.boolean().optional(),\n // The webpack config type is unknown, use z.any() here\n webpack: z.any().nullable().optional(),\n watchOptions: z\n .strictObject({\n pollIntervalMs: z.number().positive().finite().optional(),\n })\n .optional(),\n })\n)\n"],"names":["configSchema","zSizeLimit","z","custom","val","zExportMap","record","string","object","page","query","any","_fallbackRouteParams","array","optional","_isAppDir","boolean","_isDynamicError","_isRoutePPREnabled","_allowEmptyStaticShell","zRouteHas","union","type","enum","key","value","literal","undefined","zRewrite","source","destination","basePath","locale","has","missing","internal","zRedirect","and","statusCode","never","permanent","number","zHeader","headers","zTurbopackLoaderItem","loader","options","zTurbopackRuleConfigItemOptions","loaders","as","zTurbopackLoaderBuiltinCondition","zTurbopackRuleConfigItem","lazy","zTurbopackRuleConfigItemOrShortcut","zTurbopackCondition","path","instanceof","RegExp","content","zTurbopackConfig","strictObject","rules","conditions","resolveAlias","resolveExtensions","moduleIds","root","zDeprecatedExperimentalTurboConfig","treeShaking","persistentCaching","memoryLimit","minify","sourceMaps","allowedDevOrigins","amp","canonicalBase","assetPrefix","bundlePagesRouterDependencies","cacheHandler","min","cacheMaxMemorySize","cleanDistDir","compiler","emotion","sourceMap","autoLabel","labelFormat","importMap","canonicalImport","tuple","styledBaseImport","reactRemoveProperties","properties","relay","src","artifactDirectory","language","eagerEsModules","removeConsole","exclude","styledComponents","displayName","topLevelImportPaths","ssr","fileName","meaninglessFileNames","transpileTemplateLiterals","namespace","pure","cssProp","styledJsx","useLightningcss","define","defineServer","runAfterProductionCompile","function","returns","promise","void","compress","configOrigin","crossOrigin","deploymentId","devIndicators","buildActivityPosition","position","distDir","env","eslint","dirs","ignoreDuringBuilds","excludeDefaultMomentLocales","experimental","adapterPath","useSkewCookie","after","appDocumentPreloading","appNavFailHandling","preloadEntriesOnStart","allowedRevalidateHeaderKeys","optimizer","skipValidation","validator","staleTimes","dynamic","static","cacheLife","stale","revalidate","expire","cacheHandlers","clientRouterFilter","clientRouterFilterRedirects","clientRouterFilterAllowedRate","cpus","memoryBasedWorkersCount","craCompat","caseSensitiveRoutes","clientSegmentCache","clientParamParsing","dynamicOnHover","disableOptimizedLoading","disablePostcssPresetEnv","cacheComponents","dynamicIO","inlineCss","esmExternals","serverActions","bodySizeLimit","allowedOrigins","extensionAlias","externalDir","externalMiddlewareRewritesResolve","fallbackNodePolyfills","fetchCacheKeyPrefix","forceSwcTransforms","fullySpecified","gzipSize","imgOptConcurrency","int","nullable","imgOptTimeoutInSeconds","imgOptMaxInputPixels","imgOptSequentialRead","imgOptSkipMetadata","isrFlushToDisk","largePageDataBytes","linkNoTouchStart","manualClientBasePath","middlewarePrefetch","multiZoneDraftMode","cssChunking","nextScriptWorkers","optimizeCss","optimisticClientCache","parallelServerCompiles","parallelServerBuildTraces","ppr","readonly","taint","prerenderEarlyExit","proxyTimeout","gte","rootParams","routerBFCache","removeUncaughtErrorAndRejectionListeners","validateRSCRequestHeaders","scrollRestoration","sri","algorithm","swcPlugins","swcTraceProfiling","urlImports","viewTransition","workerThreads","webVitalsAttribution","mdxRs","development","jsxRuntime","jsxImportSource","providerImportSource","mdxType","typedRoutes","webpackBuildWorker","webpackMemoryOptimizations","turbo","turbopackMemoryLimit","turbopackMinify","turbopackPersistentCaching","turbopackSourceMaps","turbopackTreeShaking","turbopackRemoveUnusedExports","turbopackScopeHoisting","turbopackUseSystemTlsCerts","optimizePackageImports","optimizeServerReact","clientTraceMetadata","serverMinification","enablePrerenderSourceMaps","serverSourceMaps","useWasmBinary","testProxy","defaultTestRunner","SUPPORTED_TEST_RUNNERS_LIST","allowDevelopmentBuild","reactCompiler","compilationMode","panicThreshold","staticGenerationRetryCount","staticGenerationMaxConcurrency","staticGenerationMinPagesPerWorker","typedEnv","serverComponentsHmrCache","authInterrupts","useCache","slowModuleDetection","buildTimeThresholdMs","globalNotFound","devtoolSegmentExplorer","browserDebugInfoInTerminal","depthLimit","positive","edgeLimit","showSourceLocation","optimizeRouterScrolling","exportPathMap","args","dev","dir","outDir","buildId","generateBuildId","null","generateEtags","htmlLimitedBots","httpAgentOptions","keepAlive","i18n","defaultLocale","domains","domain","http","locales","localeDetection","images","localPatterns","pathname","search","max","remotePatterns","URL","hostname","port","protocol","unoptimized","contentSecurityPolicy","contentDispositionType","dangerouslyAllowSVG","deviceSizes","lte","disableStaticImages","formats","imageSizes","VALID_LOADERS","loaderFile","minimumCacheTTL","qualities","logging","fetches","fullUrl","hmrRefreshes","incomingRequests","ignore","modularizeImports","transform","preventFullImport","skipDefaultConversion","onDemandEntries","maxInactiveAge","pagesBufferLength","output","outputFileTracingRoot","outputFileTracingExcludes","outputFileTracingIncludes","pageExtensions","poweredByHeader","productionBrowserSourceMaps","publicRuntimeConfig","reactProductionProfiling","reactStrictMode","reactMaxHeadersLength","nonnegative","redirects","rewrites","beforeFiles","afterFiles","fallback","sassOptions","implementation","catchall","serverExternalPackages","serverRuntimeConfig","skipMiddlewareUrlNormalize","skipTrailingSlashRedirect","staticPageGenerationTimeout","expireTime","target","trailingSlash","transpilePackages","turbopack","typescript","ignoreBuildErrors","tsconfigPath","useFileSystemPublicRoutes","webpack","watchOptions","pollIntervalMs","finite"],"mappings":"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","ignoreList":[0]}
1
+ {"version":3,"sources":["../../src/server/config-schema.ts"],"sourcesContent":["import type { NextConfig } from './config'\nimport { VALID_LOADERS } from '../shared/lib/image-config'\n\nimport { z } from 'next/dist/compiled/zod'\nimport type zod from 'next/dist/compiled/zod'\n\nimport type { SizeLimit } from '../types'\nimport type {\n ExportPathMap,\n TurbopackLoaderItem,\n DeprecatedExperimentalTurboOptions,\n TurbopackOptions,\n TurbopackRuleConfigItem,\n TurbopackRuleConfigItemOptions,\n TurbopackRuleConfigItemOrShortcut,\n TurbopackRuleCondition,\n TurbopackLoaderBuiltinCondition,\n} from './config-shared'\nimport type {\n Header,\n Rewrite,\n RouteHas,\n Redirect,\n} from '../lib/load-custom-routes'\nimport { SUPPORTED_TEST_RUNNERS_LIST } from '../cli/next-test'\n\n// A custom zod schema for the SizeLimit type\nconst zSizeLimit = z.custom<SizeLimit>((val) => {\n if (typeof val === 'number' || typeof val === 'string') {\n return true\n }\n return false\n})\n\nconst zExportMap: zod.ZodType<ExportPathMap> = z.record(\n z.string(),\n z.object({\n page: z.string(),\n query: z.any(), // NextParsedUrlQuery\n // private optional properties\n _fallbackRouteParams: z.array(z.string()).optional(),\n _isAppDir: z.boolean().optional(),\n _isDynamicError: z.boolean().optional(),\n _isRoutePPREnabled: z.boolean().optional(),\n _allowEmptyStaticShell: z.boolean().optional(),\n })\n)\n\nconst zRouteHas: zod.ZodType<RouteHas> = z.union([\n z.object({\n type: z.enum(['header', 'query', 'cookie']),\n key: z.string(),\n value: z.string().optional(),\n }),\n z.object({\n type: z.literal('host'),\n key: z.undefined().optional(),\n value: z.string(),\n }),\n])\n\nconst zRewrite: zod.ZodType<Rewrite> = z.object({\n source: z.string(),\n destination: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n internal: z.boolean().optional(),\n})\n\nconst zRedirect: zod.ZodType<Redirect> = z\n .object({\n source: z.string(),\n destination: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n internal: z.boolean().optional(),\n })\n .and(\n z.union([\n z.object({\n statusCode: z.never().optional(),\n permanent: z.boolean(),\n }),\n z.object({\n statusCode: z.number(),\n permanent: z.never().optional(),\n }),\n ])\n )\n\nconst zHeader: zod.ZodType<Header> = z.object({\n source: z.string(),\n basePath: z.literal(false).optional(),\n locale: z.literal(false).optional(),\n headers: z.array(z.object({ key: z.string(), value: z.string() })),\n has: z.array(zRouteHas).optional(),\n missing: z.array(zRouteHas).optional(),\n\n internal: z.boolean().optional(),\n})\n\nconst zTurbopackLoaderItem: zod.ZodType<TurbopackLoaderItem> = z.union([\n z.string(),\n z.object({\n loader: z.string(),\n // Any JSON value can be used as turbo loader options, so use z.any() here\n options: z.record(z.string(), z.any()),\n }),\n])\n\nconst zTurbopackRuleConfigItemOptions: zod.ZodType<TurbopackRuleConfigItemOptions> =\n z.object({\n loaders: z.array(zTurbopackLoaderItem),\n as: z.string().optional(),\n })\n\nconst zTurbopackLoaderBuiltinCondition: zod.ZodType<TurbopackLoaderBuiltinCondition> =\n z.union([\n z.literal('default'),\n z.literal('browser'),\n z.literal('foreign'),\n z.literal('development'),\n z.literal('production'),\n z.literal('node'),\n z.literal('edge-light'),\n ])\n\nconst zTurbopackRuleConfigItem: zod.ZodType<TurbopackRuleConfigItem> = z.union([\n z.literal(false),\n z.record(\n zTurbopackLoaderBuiltinCondition,\n z.lazy(() => zTurbopackRuleConfigItem)\n ),\n zTurbopackRuleConfigItemOptions,\n])\nconst zTurbopackRuleConfigItemOrShortcut: zod.ZodType<TurbopackRuleConfigItemOrShortcut> =\n z.union([z.array(zTurbopackLoaderItem), zTurbopackRuleConfigItem])\n\nconst zTurbopackCondition: zod.ZodType<TurbopackRuleCondition> = z.object({\n path: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n content: z.instanceof(RegExp).optional(),\n})\n\nconst zTurbopackConfig: zod.ZodType<TurbopackOptions> = z.strictObject({\n rules: z.record(z.string(), zTurbopackRuleConfigItemOrShortcut).optional(),\n conditions: z.record(z.string(), zTurbopackCondition).optional(),\n resolveAlias: z\n .record(\n z.string(),\n z.union([\n z.string(),\n z.array(z.string()),\n z.record(z.string(), z.union([z.string(), z.array(z.string())])),\n ])\n )\n .optional(),\n resolveExtensions: z.array(z.string()).optional(),\n moduleIds: z.enum(['named', 'deterministic']).optional(),\n root: z.string().optional(),\n})\n\n// Same as zTurbopackConfig but with deprecated properties. Unfortunately, base\n// properties are duplicated here as `ZodType`s do not export `extend()`.\nconst zDeprecatedExperimentalTurboConfig: zod.ZodType<DeprecatedExperimentalTurboOptions> =\n z.strictObject({\n loaders: z.record(z.string(), z.array(zTurbopackLoaderItem)).optional(),\n rules: z.record(z.string(), zTurbopackRuleConfigItemOrShortcut).optional(),\n resolveAlias: z\n .record(\n z.string(),\n z.union([\n z.string(),\n z.array(z.string()),\n z.record(z.string(), z.union([z.string(), z.array(z.string())])),\n ])\n )\n .optional(),\n resolveExtensions: z.array(z.string()).optional(),\n treeShaking: z.boolean().optional(),\n persistentCaching: z.union([z.number(), z.literal(false)]).optional(),\n memoryLimit: z.number().optional(),\n moduleIds: z.enum(['named', 'deterministic']).optional(),\n minify: z.boolean().optional(),\n sourceMaps: z.boolean().optional(),\n root: z.string().optional(),\n })\n\nexport const configSchema: zod.ZodType<NextConfig> = z.lazy(() =>\n z.strictObject({\n allowedDevOrigins: z.array(z.string()).optional(),\n amp: z\n .object({\n canonicalBase: z.string().optional(),\n })\n .optional(),\n assetPrefix: z.string().optional(),\n basePath: z.string().optional(),\n bundlePagesRouterDependencies: z.boolean().optional(),\n cacheHandler: z.string().min(1).optional(),\n cacheMaxMemorySize: z.number().optional(),\n cleanDistDir: z.boolean().optional(),\n compiler: z\n .strictObject({\n emotion: z\n .union([\n z.boolean(),\n z.object({\n sourceMap: z.boolean().optional(),\n autoLabel: z\n .union([\n z.literal('always'),\n z.literal('dev-only'),\n z.literal('never'),\n ])\n .optional(),\n labelFormat: z.string().min(1).optional(),\n importMap: z\n .record(\n z.string(),\n z.record(\n z.string(),\n z.object({\n canonicalImport: z\n .tuple([z.string(), z.string()])\n .optional(),\n styledBaseImport: z\n .tuple([z.string(), z.string()])\n .optional(),\n })\n )\n )\n .optional(),\n }),\n ])\n .optional(),\n reactRemoveProperties: z\n .union([\n z.boolean().optional(),\n z.object({\n properties: z.array(z.string()).optional(),\n }),\n ])\n .optional(),\n relay: z\n .object({\n src: z.string(),\n artifactDirectory: z.string().optional(),\n language: z.enum(['javascript', 'typescript', 'flow']).optional(),\n eagerEsModules: z.boolean().optional(),\n })\n .optional(),\n removeConsole: z\n .union([\n z.boolean().optional(),\n z.object({\n exclude: z.array(z.string()).min(1).optional(),\n }),\n ])\n .optional(),\n styledComponents: z.union([\n z.boolean().optional(),\n z.object({\n displayName: z.boolean().optional(),\n topLevelImportPaths: z.array(z.string()).optional(),\n ssr: z.boolean().optional(),\n fileName: z.boolean().optional(),\n meaninglessFileNames: z.array(z.string()).optional(),\n minify: z.boolean().optional(),\n transpileTemplateLiterals: z.boolean().optional(),\n namespace: z.string().min(1).optional(),\n pure: z.boolean().optional(),\n cssProp: z.boolean().optional(),\n }),\n ]),\n styledJsx: z.union([\n z.boolean().optional(),\n z.object({\n useLightningcss: z.boolean().optional(),\n }),\n ]),\n define: z.record(z.string(), z.string()).optional(),\n defineServer: z.record(z.string(), z.string()).optional(),\n runAfterProductionCompile: z\n .function()\n .returns(z.promise(z.void()))\n .optional(),\n })\n .optional(),\n compress: z.boolean().optional(),\n configOrigin: z.string().optional(),\n crossOrigin: z\n .union([z.literal('anonymous'), z.literal('use-credentials')])\n .optional(),\n deploymentId: z.string().optional(),\n devIndicators: z\n .union([\n z.object({\n buildActivityPosition: z\n .union([\n z.literal('bottom-left'),\n z.literal('bottom-right'),\n z.literal('top-left'),\n z.literal('top-right'),\n ])\n .optional(),\n position: z\n .union([\n z.literal('bottom-left'),\n z.literal('bottom-right'),\n z.literal('top-left'),\n z.literal('top-right'),\n ])\n .optional(),\n }),\n z.literal(false),\n ])\n .optional(),\n distDir: z.string().min(1).optional(),\n env: z.record(z.string(), z.union([z.string(), z.undefined()])).optional(),\n eslint: z\n .strictObject({\n dirs: z.array(z.string().min(1)).optional(),\n ignoreDuringBuilds: z.boolean().optional(),\n })\n .optional(),\n excludeDefaultMomentLocales: z.boolean().optional(),\n experimental: z\n .strictObject({\n adapterPath: z.string().optional(),\n useSkewCookie: z.boolean().optional(),\n after: z.boolean().optional(),\n appDocumentPreloading: z.boolean().optional(),\n appNavFailHandling: z.boolean().optional(),\n preloadEntriesOnStart: z.boolean().optional(),\n allowedRevalidateHeaderKeys: z.array(z.string()).optional(),\n amp: z\n .object({\n // AMP optimizer option is unknown, use z.any() here\n optimizer: z.any().optional(),\n skipValidation: z.boolean().optional(),\n validator: z.string().optional(),\n })\n .optional(),\n staleTimes: z\n .object({\n dynamic: z.number().optional(),\n static: z.number().optional(),\n })\n .optional(),\n cacheLife: z\n .record(\n z.object({\n stale: z.number().optional(),\n revalidate: z.number().optional(),\n expire: z.number().optional(),\n })\n )\n .optional(),\n cacheHandlers: z.record(z.string(), z.string().optional()).optional(),\n clientRouterFilter: z.boolean().optional(),\n clientRouterFilterRedirects: z.boolean().optional(),\n clientRouterFilterAllowedRate: z.number().optional(),\n cpus: z.number().optional(),\n memoryBasedWorkersCount: z.boolean().optional(),\n craCompat: z.boolean().optional(),\n caseSensitiveRoutes: z.boolean().optional(),\n clientSegmentCache: z\n .union([z.boolean(), z.literal('client-only')])\n .optional(),\n clientParamParsing: z.boolean().optional(),\n dynamicOnHover: z.boolean().optional(),\n disableOptimizedLoading: z.boolean().optional(),\n disablePostcssPresetEnv: z.boolean().optional(),\n cacheComponents: z.boolean().optional(),\n dynamicIO: z.boolean().optional(),\n inlineCss: z.boolean().optional(),\n esmExternals: z.union([z.boolean(), z.literal('loose')]).optional(),\n serverActions: z\n .object({\n bodySizeLimit: zSizeLimit.optional(),\n allowedOrigins: z.array(z.string()).optional(),\n })\n .optional(),\n // The original type was Record<string, any>\n extensionAlias: z.record(z.string(), z.any()).optional(),\n externalDir: z.boolean().optional(),\n externalMiddlewareRewritesResolve: z.boolean().optional(),\n fallbackNodePolyfills: z.literal(false).optional(),\n fetchCacheKeyPrefix: z.string().optional(),\n forceSwcTransforms: z.boolean().optional(),\n fullySpecified: z.boolean().optional(),\n gzipSize: z.boolean().optional(),\n imgOptConcurrency: z.number().int().optional().nullable(),\n imgOptTimeoutInSeconds: z.number().int().optional(),\n imgOptMaxInputPixels: z.number().int().optional(),\n imgOptSequentialRead: z.boolean().optional().nullable(),\n imgOptSkipMetadata: z.boolean().optional().nullable(),\n isrFlushToDisk: z.boolean().optional(),\n largePageDataBytes: z.number().optional(),\n linkNoTouchStart: z.boolean().optional(),\n manualClientBasePath: z.boolean().optional(),\n middlewarePrefetch: z.enum(['strict', 'flexible']).optional(),\n middlewareClientMaxBodySize: zSizeLimit.optional(),\n multiZoneDraftMode: z.boolean().optional(),\n cssChunking: z.union([z.boolean(), z.literal('strict')]).optional(),\n nextScriptWorkers: z.boolean().optional(),\n // The critter option is unknown, use z.any() here\n optimizeCss: z.union([z.boolean(), z.any()]).optional(),\n optimisticClientCache: z.boolean().optional(),\n parallelServerCompiles: z.boolean().optional(),\n parallelServerBuildTraces: z.boolean().optional(),\n ppr: z\n .union([z.boolean(), z.literal('incremental')])\n .readonly()\n .optional(),\n taint: z.boolean().optional(),\n prerenderEarlyExit: z.boolean().optional(),\n proxyTimeout: z.number().gte(0).optional(),\n rootParams: z.boolean().optional(),\n routerBFCache: z.boolean().optional(),\n removeUncaughtErrorAndRejectionListeners: z.boolean().optional(),\n validateRSCRequestHeaders: z.boolean().optional(),\n scrollRestoration: z.boolean().optional(),\n sri: z\n .object({\n algorithm: z.enum(['sha256', 'sha384', 'sha512']).optional(),\n })\n .optional(),\n swcPlugins: z\n // The specific swc plugin's option is unknown, use z.any() here\n .array(z.tuple([z.string(), z.record(z.string(), z.any())]))\n .optional(),\n swcTraceProfiling: z.boolean().optional(),\n // NonNullable<webpack.Configuration['experiments']>['buildHttp']\n urlImports: z.any().optional(),\n viewTransition: z.boolean().optional(),\n workerThreads: z.boolean().optional(),\n webVitalsAttribution: z\n .array(\n z.union([\n z.literal('CLS'),\n z.literal('FCP'),\n z.literal('FID'),\n z.literal('INP'),\n z.literal('LCP'),\n z.literal('TTFB'),\n ])\n )\n .optional(),\n // This is partial set of mdx-rs transform options we support, aligned\n // with next_core::next_config::MdxRsOptions. Ensure both types are kept in sync.\n mdxRs: z\n .union([\n z.boolean(),\n z.object({\n development: z.boolean().optional(),\n jsxRuntime: z.string().optional(),\n jsxImportSource: z.string().optional(),\n providerImportSource: z.string().optional(),\n mdxType: z.enum(['gfm', 'commonmark']).optional(),\n }),\n ])\n .optional(),\n typedRoutes: z.boolean().optional(),\n webpackBuildWorker: z.boolean().optional(),\n webpackMemoryOptimizations: z.boolean().optional(),\n /**\n * @deprecated Use `config.turbopack` instead.\n */\n turbo: zDeprecatedExperimentalTurboConfig.optional(),\n turbopackMemoryLimit: z.number().optional(),\n turbopackMinify: z.boolean().optional(),\n turbopackPersistentCaching: z.boolean().optional(),\n turbopackSourceMaps: z.boolean().optional(),\n turbopackTreeShaking: z.boolean().optional(),\n turbopackRemoveUnusedExports: z.boolean().optional(),\n turbopackScopeHoisting: z.boolean().optional(),\n /**\n * Use the system-provided CA roots instead of bundled CA roots for external HTTPS requests\n * made by Turbopack. Currently this is only used for fetching data from Google Fonts.\n *\n * This may be useful in cases where you or an employer are MITMing traffic.\n *\n * This option is experimental because:\n * - This may cause small performance problems, as it uses [`rustls-native-certs`](\n * https://github.com/rustls/rustls-native-certs).\n * - In the future, this may become the default, and this option may be eliminated, once\n * <https://github.com/seanmonstar/reqwest/issues/2159> is resolved.\n *\n * Users who need to configure this behavior system-wide can override the project\n * configuration using the `NEXT_TURBOPACK_EXPERIMENTAL_USE_SYSTEM_TLS_CERTS=1` environment\n * variable.\n *\n * This option is ignored on Windows on ARM, where the native TLS implementation is always\n * used.\n *\n * If you need to set a proxy, Turbopack [respects the common `HTTP_PROXY` and `HTTPS_PROXY`\n * environment variable convention](https://docs.rs/reqwest/latest/reqwest/#proxies). HTTP\n * proxies are supported, SOCKS proxies are not currently supported.\n */\n turbopackUseSystemTlsCerts: z.boolean().optional(),\n optimizePackageImports: z.array(z.string()).optional(),\n optimizeServerReact: z.boolean().optional(),\n clientTraceMetadata: z.array(z.string()).optional(),\n serverMinification: z.boolean().optional(),\n enablePrerenderSourceMaps: z.boolean().optional(),\n serverSourceMaps: z.boolean().optional(),\n useWasmBinary: z.boolean().optional(),\n useLightningcss: z.boolean().optional(),\n testProxy: z.boolean().optional(),\n defaultTestRunner: z.enum(SUPPORTED_TEST_RUNNERS_LIST).optional(),\n allowDevelopmentBuild: z.literal(true).optional(),\n reactCompiler: z.union([\n z.boolean(),\n z\n .object({\n compilationMode: z\n .enum(['infer', 'annotation', 'all'])\n .optional(),\n panicThreshold: z\n .enum(['ALL_ERRORS', 'CRITICAL_ERRORS', 'NONE'])\n .optional(),\n })\n .optional(),\n ]),\n staticGenerationRetryCount: z.number().int().optional(),\n staticGenerationMaxConcurrency: z.number().int().optional(),\n staticGenerationMinPagesPerWorker: z.number().int().optional(),\n typedEnv: z.boolean().optional(),\n serverComponentsHmrCache: z.boolean().optional(),\n authInterrupts: z.boolean().optional(),\n useCache: z.boolean().optional(),\n slowModuleDetection: z\n .object({\n buildTimeThresholdMs: z.number().int(),\n })\n .optional(),\n globalNotFound: z.boolean().optional(),\n devtoolSegmentExplorer: z.boolean().optional(),\n browserDebugInfoInTerminal: z\n .union([\n z.boolean(),\n z.object({\n depthLimit: z.number().int().positive().optional(),\n edgeLimit: z.number().int().positive().optional(),\n showSourceLocation: z.boolean().optional(),\n }),\n ])\n .optional(),\n optimizeRouterScrolling: z.boolean().optional(),\n })\n .optional(),\n exportPathMap: z\n .function()\n .args(\n zExportMap,\n z.object({\n dev: z.boolean(),\n dir: z.string(),\n outDir: z.string().nullable(),\n distDir: z.string(),\n buildId: z.string(),\n })\n )\n .returns(z.union([zExportMap, z.promise(zExportMap)]))\n .optional(),\n generateBuildId: z\n .function()\n .args()\n .returns(\n z.union([\n z.string(),\n z.null(),\n z.promise(z.union([z.string(), z.null()])),\n ])\n )\n .optional(),\n generateEtags: z.boolean().optional(),\n headers: z\n .function()\n .args()\n .returns(z.promise(z.array(zHeader)))\n .optional(),\n htmlLimitedBots: z.instanceof(RegExp).optional(),\n httpAgentOptions: z\n .strictObject({ keepAlive: z.boolean().optional() })\n .optional(),\n i18n: z\n .strictObject({\n defaultLocale: z.string().min(1),\n domains: z\n .array(\n z.strictObject({\n defaultLocale: z.string().min(1),\n domain: z.string().min(1),\n http: z.literal(true).optional(),\n locales: z.array(z.string().min(1)).optional(),\n })\n )\n .optional(),\n localeDetection: z.literal(false).optional(),\n locales: z.array(z.string().min(1)),\n })\n .nullable()\n .optional(),\n images: z\n .strictObject({\n localPatterns: z\n .array(\n z.strictObject({\n pathname: z.string().optional(),\n search: z.string().optional(),\n })\n )\n .max(25)\n .optional(),\n remotePatterns: z\n .array(\n z.union([\n z.instanceof(URL),\n z.strictObject({\n hostname: z.string(),\n pathname: z.string().optional(),\n port: z.string().max(5).optional(),\n protocol: z.enum(['http', 'https']).optional(),\n search: z.string().optional(),\n }),\n ])\n )\n .max(50)\n .optional(),\n unoptimized: z.boolean().optional(),\n contentSecurityPolicy: z.string().optional(),\n contentDispositionType: z.enum(['inline', 'attachment']).optional(),\n dangerouslyAllowSVG: z.boolean().optional(),\n deviceSizes: z\n .array(z.number().int().gte(1).lte(10000))\n .max(25)\n .optional(),\n disableStaticImages: z.boolean().optional(),\n domains: z.array(z.string()).max(50).optional(),\n formats: z\n .array(z.enum(['image/avif', 'image/webp']))\n .max(4)\n .optional(),\n imageSizes: z\n .array(z.number().int().gte(1).lte(10000))\n .min(0)\n .max(25)\n .optional(),\n loader: z.enum(VALID_LOADERS).optional(),\n loaderFile: z.string().optional(),\n minimumCacheTTL: z.number().int().gte(0).optional(),\n path: z.string().optional(),\n qualities: z\n .array(z.number().int().gte(1).lte(100))\n .min(1)\n .max(20)\n .optional(),\n })\n .optional(),\n logging: z\n .union([\n z.object({\n fetches: z\n .object({\n fullUrl: z.boolean().optional(),\n hmrRefreshes: z.boolean().optional(),\n })\n .optional(),\n incomingRequests: z\n .union([\n z.boolean(),\n z.object({\n ignore: z.array(z.instanceof(RegExp)),\n }),\n ])\n .optional(),\n }),\n z.literal(false),\n ])\n .optional(),\n modularizeImports: z\n .record(\n z.string(),\n z.object({\n transform: z.union([z.string(), z.record(z.string(), z.string())]),\n preventFullImport: z.boolean().optional(),\n skipDefaultConversion: z.boolean().optional(),\n })\n )\n .optional(),\n onDemandEntries: z\n .strictObject({\n maxInactiveAge: z.number().optional(),\n pagesBufferLength: z.number().optional(),\n })\n .optional(),\n output: z.enum(['standalone', 'export']).optional(),\n outputFileTracingRoot: z.string().optional(),\n outputFileTracingExcludes: z\n .record(z.string(), z.array(z.string()))\n .optional(),\n outputFileTracingIncludes: z\n .record(z.string(), z.array(z.string()))\n .optional(),\n pageExtensions: z.array(z.string()).min(1).optional(),\n poweredByHeader: z.boolean().optional(),\n productionBrowserSourceMaps: z.boolean().optional(),\n publicRuntimeConfig: z.record(z.string(), z.any()).optional(),\n reactProductionProfiling: z.boolean().optional(),\n reactStrictMode: z.boolean().nullable().optional(),\n reactMaxHeadersLength: z.number().nonnegative().int().optional(),\n redirects: z\n .function()\n .args()\n .returns(z.promise(z.array(zRedirect)))\n .optional(),\n rewrites: z\n .function()\n .args()\n .returns(\n z.promise(\n z.union([\n z.array(zRewrite),\n z.object({\n beforeFiles: z.array(zRewrite),\n afterFiles: z.array(zRewrite),\n fallback: z.array(zRewrite),\n }),\n ])\n )\n )\n .optional(),\n // sassOptions properties are unknown besides implementation, use z.any() here\n sassOptions: z\n .object({\n implementation: z.string().optional(),\n })\n .catchall(z.any())\n .optional(),\n serverExternalPackages: z.array(z.string()).optional(),\n serverRuntimeConfig: z.record(z.string(), z.any()).optional(),\n skipMiddlewareUrlNormalize: z.boolean().optional(),\n skipTrailingSlashRedirect: z.boolean().optional(),\n staticPageGenerationTimeout: z.number().optional(),\n expireTime: z.number().optional(),\n target: z.string().optional(),\n trailingSlash: z.boolean().optional(),\n transpilePackages: z.array(z.string()).optional(),\n turbopack: zTurbopackConfig.optional(),\n typescript: z\n .strictObject({\n ignoreBuildErrors: z.boolean().optional(),\n tsconfigPath: z.string().min(1).optional(),\n })\n .optional(),\n typedRoutes: z.boolean().optional(),\n useFileSystemPublicRoutes: z.boolean().optional(),\n // The webpack config type is unknown, use z.any() here\n webpack: z.any().nullable().optional(),\n watchOptions: z\n .strictObject({\n pollIntervalMs: z.number().positive().finite().optional(),\n })\n .optional(),\n })\n)\n"],"names":["configSchema","zSizeLimit","z","custom","val","zExportMap","record","string","object","page","query","any","_fallbackRouteParams","array","optional","_isAppDir","boolean","_isDynamicError","_isRoutePPREnabled","_allowEmptyStaticShell","zRouteHas","union","type","enum","key","value","literal","undefined","zRewrite","source","destination","basePath","locale","has","missing","internal","zRedirect","and","statusCode","never","permanent","number","zHeader","headers","zTurbopackLoaderItem","loader","options","zTurbopackRuleConfigItemOptions","loaders","as","zTurbopackLoaderBuiltinCondition","zTurbopackRuleConfigItem","lazy","zTurbopackRuleConfigItemOrShortcut","zTurbopackCondition","path","instanceof","RegExp","content","zTurbopackConfig","strictObject","rules","conditions","resolveAlias","resolveExtensions","moduleIds","root","zDeprecatedExperimentalTurboConfig","treeShaking","persistentCaching","memoryLimit","minify","sourceMaps","allowedDevOrigins","amp","canonicalBase","assetPrefix","bundlePagesRouterDependencies","cacheHandler","min","cacheMaxMemorySize","cleanDistDir","compiler","emotion","sourceMap","autoLabel","labelFormat","importMap","canonicalImport","tuple","styledBaseImport","reactRemoveProperties","properties","relay","src","artifactDirectory","language","eagerEsModules","removeConsole","exclude","styledComponents","displayName","topLevelImportPaths","ssr","fileName","meaninglessFileNames","transpileTemplateLiterals","namespace","pure","cssProp","styledJsx","useLightningcss","define","defineServer","runAfterProductionCompile","function","returns","promise","void","compress","configOrigin","crossOrigin","deploymentId","devIndicators","buildActivityPosition","position","distDir","env","eslint","dirs","ignoreDuringBuilds","excludeDefaultMomentLocales","experimental","adapterPath","useSkewCookie","after","appDocumentPreloading","appNavFailHandling","preloadEntriesOnStart","allowedRevalidateHeaderKeys","optimizer","skipValidation","validator","staleTimes","dynamic","static","cacheLife","stale","revalidate","expire","cacheHandlers","clientRouterFilter","clientRouterFilterRedirects","clientRouterFilterAllowedRate","cpus","memoryBasedWorkersCount","craCompat","caseSensitiveRoutes","clientSegmentCache","clientParamParsing","dynamicOnHover","disableOptimizedLoading","disablePostcssPresetEnv","cacheComponents","dynamicIO","inlineCss","esmExternals","serverActions","bodySizeLimit","allowedOrigins","extensionAlias","externalDir","externalMiddlewareRewritesResolve","fallbackNodePolyfills","fetchCacheKeyPrefix","forceSwcTransforms","fullySpecified","gzipSize","imgOptConcurrency","int","nullable","imgOptTimeoutInSeconds","imgOptMaxInputPixels","imgOptSequentialRead","imgOptSkipMetadata","isrFlushToDisk","largePageDataBytes","linkNoTouchStart","manualClientBasePath","middlewarePrefetch","middlewareClientMaxBodySize","multiZoneDraftMode","cssChunking","nextScriptWorkers","optimizeCss","optimisticClientCache","parallelServerCompiles","parallelServerBuildTraces","ppr","readonly","taint","prerenderEarlyExit","proxyTimeout","gte","rootParams","routerBFCache","removeUncaughtErrorAndRejectionListeners","validateRSCRequestHeaders","scrollRestoration","sri","algorithm","swcPlugins","swcTraceProfiling","urlImports","viewTransition","workerThreads","webVitalsAttribution","mdxRs","development","jsxRuntime","jsxImportSource","providerImportSource","mdxType","typedRoutes","webpackBuildWorker","webpackMemoryOptimizations","turbo","turbopackMemoryLimit","turbopackMinify","turbopackPersistentCaching","turbopackSourceMaps","turbopackTreeShaking","turbopackRemoveUnusedExports","turbopackScopeHoisting","turbopackUseSystemTlsCerts","optimizePackageImports","optimizeServerReact","clientTraceMetadata","serverMinification","enablePrerenderSourceMaps","serverSourceMaps","useWasmBinary","testProxy","defaultTestRunner","SUPPORTED_TEST_RUNNERS_LIST","allowDevelopmentBuild","reactCompiler","compilationMode","panicThreshold","staticGenerationRetryCount","staticGenerationMaxConcurrency","staticGenerationMinPagesPerWorker","typedEnv","serverComponentsHmrCache","authInterrupts","useCache","slowModuleDetection","buildTimeThresholdMs","globalNotFound","devtoolSegmentExplorer","browserDebugInfoInTerminal","depthLimit","positive","edgeLimit","showSourceLocation","optimizeRouterScrolling","exportPathMap","args","dev","dir","outDir","buildId","generateBuildId","null","generateEtags","htmlLimitedBots","httpAgentOptions","keepAlive","i18n","defaultLocale","domains","domain","http","locales","localeDetection","images","localPatterns","pathname","search","max","remotePatterns","URL","hostname","port","protocol","unoptimized","contentSecurityPolicy","contentDispositionType","dangerouslyAllowSVG","deviceSizes","lte","disableStaticImages","formats","imageSizes","VALID_LOADERS","loaderFile","minimumCacheTTL","qualities","logging","fetches","fullUrl","hmrRefreshes","incomingRequests","ignore","modularizeImports","transform","preventFullImport","skipDefaultConversion","onDemandEntries","maxInactiveAge","pagesBufferLength","output","outputFileTracingRoot","outputFileTracingExcludes","outputFileTracingIncludes","pageExtensions","poweredByHeader","productionBrowserSourceMaps","publicRuntimeConfig","reactProductionProfiling","reactStrictMode","reactMaxHeadersLength","nonnegative","redirects","rewrites","beforeFiles","afterFiles","fallback","sassOptions","implementation","catchall","serverExternalPackages","serverRuntimeConfig","skipMiddlewareUrlNormalize","skipTrailingSlashRedirect","staticPageGenerationTimeout","expireTime","target","trailingSlash","transpilePackages","turbopack","typescript","ignoreBuildErrors","tsconfigPath","useFileSystemPublicRoutes","webpack","watchOptions","pollIntervalMs","finite"],"mappings":"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","ignoreList":[0]}