@fusionkit/cli 0.1.0 → 0.1.2

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 (1383) hide show
  1. package/README.md +77 -0
  2. package/dist/cli.d.ts +0 -6
  3. package/dist/cli.js +16 -0
  4. package/dist/commands/doctor.d.ts +2 -0
  5. package/dist/commands/doctor.js +136 -0
  6. package/dist/commands/fusion.js +70 -12
  7. package/dist/fusion-config.d.ts +28 -0
  8. package/dist/fusion-config.js +133 -0
  9. package/dist/fusion-init.d.ts +4 -0
  10. package/dist/fusion-init.js +119 -0
  11. package/dist/fusion-quickstart.d.ts +63 -4
  12. package/dist/fusion-quickstart.js +414 -139
  13. package/dist/gateway.d.ts +2 -0
  14. package/dist/gateway.js +16 -4
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.js +1 -0
  17. package/dist/quiet-warnings.d.ts +1 -0
  18. package/dist/quiet-warnings.js +24 -0
  19. package/dist/shared/preflight.d.ts +1 -0
  20. package/dist/shared/preflight.js +1 -1
  21. package/dist/shared/proc.d.ts +36 -5
  22. package/dist/shared/proc.js +133 -25
  23. package/dist/test/fusion-config.test.d.ts +1 -0
  24. package/dist/test/fusion-config.test.js +80 -0
  25. package/dist/test/proc.test.js +23 -1
  26. package/dist/test/ui.test.d.ts +1 -0
  27. package/dist/test/ui.test.js +24 -0
  28. package/dist/ui/boot.d.ts +23 -0
  29. package/dist/ui/boot.js +56 -0
  30. package/dist/ui/index.d.ts +8 -0
  31. package/dist/ui/index.js +6 -0
  32. package/dist/ui/prompt.d.ts +30 -0
  33. package/dist/ui/prompt.js +178 -0
  34. package/dist/ui/runtime.d.ts +14 -0
  35. package/dist/ui/runtime.js +33 -0
  36. package/dist/ui/spinner.d.ts +31 -0
  37. package/dist/ui/spinner.js +102 -0
  38. package/dist/ui/steps.d.ts +38 -0
  39. package/dist/ui/steps.js +149 -0
  40. package/dist/ui/theme.d.ts +35 -0
  41. package/dist/ui/theme.js +52 -0
  42. package/package.json +11 -10
  43. package/scope/.next/BUILD_ID +1 -0
  44. package/scope/.next/app-build-manifest.json +108 -0
  45. package/scope/.next/app-path-routes-manifest.json +14 -0
  46. package/scope/.next/build-manifest.json +33 -0
  47. package/scope/.next/package.json +1 -0
  48. package/scope/.next/prerender-manifest.json +109 -0
  49. package/scope/.next/react-loadable-manifest.json +1 -0
  50. package/scope/.next/required-server-files.json +329 -0
  51. package/scope/.next/routes-manifest.json +82 -0
  52. package/scope/.next/server/app/_not-found/page.js +2 -0
  53. package/scope/.next/server/app/_not-found/page.js.nft.json +1 -0
  54. package/scope/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  55. package/scope/.next/server/app/_not-found.html +1 -0
  56. package/scope/.next/server/app/_not-found.meta +8 -0
  57. package/scope/.next/server/app/_not-found.rsc +20 -0
  58. package/scope/.next/server/app/api/environments/route.js +40 -0
  59. package/scope/.next/server/app/api/environments/route.js.nft.json +1 -0
  60. package/scope/.next/server/app/api/environments/route_client-reference-manifest.js +1 -0
  61. package/scope/.next/server/app/api/ingest/route.js +40 -0
  62. package/scope/.next/server/app/api/ingest/route.js.nft.json +1 -0
  63. package/scope/.next/server/app/api/ingest/route_client-reference-manifest.js +1 -0
  64. package/scope/.next/server/app/api/models/route.js +40 -0
  65. package/scope/.next/server/app/api/models/route.js.nft.json +1 -0
  66. package/scope/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
  67. package/scope/.next/server/app/api/replay/route.js +40 -0
  68. package/scope/.next/server/app/api/replay/route.js.nft.json +1 -0
  69. package/scope/.next/server/app/api/replay/route_client-reference-manifest.js +1 -0
  70. package/scope/.next/server/app/api/sessions/[traceId]/route.js +40 -0
  71. package/scope/.next/server/app/api/sessions/[traceId]/route.js.nft.json +1 -0
  72. package/scope/.next/server/app/api/sessions/[traceId]/route_client-reference-manifest.js +1 -0
  73. package/scope/.next/server/app/api/sessions/route.js +40 -0
  74. package/scope/.next/server/app/api/sessions/route.js.nft.json +1 -0
  75. package/scope/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
  76. package/scope/.next/server/app/api/stream/route.js +46 -0
  77. package/scope/.next/server/app/api/stream/route.js.nft.json +1 -0
  78. package/scope/.next/server/app/api/stream/route_client-reference-manifest.js +1 -0
  79. package/scope/.next/server/app/environments/page.js +2 -0
  80. package/scope/.next/server/app/environments/page.js.nft.json +1 -0
  81. package/scope/.next/server/app/environments/page_client-reference-manifest.js +1 -0
  82. package/scope/.next/server/app/environments.html +1 -0
  83. package/scope/.next/server/app/environments.meta +7 -0
  84. package/scope/.next/server/app/environments.rsc +24 -0
  85. package/scope/.next/server/app/index.html +1 -0
  86. package/scope/.next/server/app/index.meta +7 -0
  87. package/scope/.next/server/app/index.rsc +24 -0
  88. package/scope/.next/server/app/models/page.js +2 -0
  89. package/scope/.next/server/app/models/page.js.nft.json +1 -0
  90. package/scope/.next/server/app/models/page_client-reference-manifest.js +1 -0
  91. package/scope/.next/server/app/models.html +1 -0
  92. package/scope/.next/server/app/models.meta +7 -0
  93. package/scope/.next/server/app/models.rsc +24 -0
  94. package/scope/.next/server/app/page.js +2 -0
  95. package/scope/.next/server/app/page.js.nft.json +1 -0
  96. package/scope/.next/server/app/page_client-reference-manifest.js +1 -0
  97. package/scope/.next/server/app/sessions/[traceId]/page.js +2 -0
  98. package/scope/.next/server/app/sessions/[traceId]/page.js.nft.json +1 -0
  99. package/scope/.next/server/app/sessions/[traceId]/page_client-reference-manifest.js +1 -0
  100. package/scope/.next/server/app-paths-manifest.json +14 -0
  101. package/scope/.next/server/chunks/611.js +6 -0
  102. package/scope/.next/server/chunks/692.js +1 -0
  103. package/scope/.next/server/chunks/858.js +1 -0
  104. package/scope/.next/server/chunks/86.js +9 -0
  105. package/scope/.next/server/chunks/873.js +22 -0
  106. package/scope/.next/server/functions-config-manifest.json +12 -0
  107. package/scope/.next/server/middleware-build-manifest.js +1 -0
  108. package/scope/.next/server/middleware-manifest.json +6 -0
  109. package/scope/.next/server/middleware-react-loadable-manifest.js +1 -0
  110. package/scope/.next/server/next-font-manifest.js +1 -0
  111. package/scope/.next/server/next-font-manifest.json +1 -0
  112. package/scope/.next/server/pages/404.html +1 -0
  113. package/scope/.next/server/pages/500.html +1 -0
  114. package/scope/.next/server/pages/_app.js +1 -0
  115. package/scope/.next/server/pages/_app.js.nft.json +1 -0
  116. package/scope/.next/server/pages/_document.js +1 -0
  117. package/scope/.next/server/pages/_document.js.nft.json +1 -0
  118. package/scope/.next/server/pages/_error.js +19 -0
  119. package/scope/.next/server/pages/_error.js.nft.json +1 -0
  120. package/scope/.next/server/pages-manifest.json +6 -0
  121. package/scope/.next/server/server-reference-manifest.js +1 -0
  122. package/scope/.next/server/server-reference-manifest.json +1 -0
  123. package/scope/.next/server/webpack-runtime.js +1 -0
  124. package/scope/.next/static/chunks/22-1934dc9c2e544aa9.js +1 -0
  125. package/scope/.next/static/chunks/239-1c69ce437d02745f.js +1 -0
  126. package/scope/.next/static/chunks/255-69a4a78fac9becef.js +1 -0
  127. package/scope/.next/static/chunks/425-9a1b036b5fdd8b06.js +1 -0
  128. package/scope/.next/static/chunks/4bd1b696-409494caf8c83275.js +1 -0
  129. package/scope/.next/static/chunks/873-9351d1edaa9d58ef.js +1 -0
  130. package/scope/.next/static/chunks/989-1c7081e9fd5c9b9d.js +1 -0
  131. package/scope/.next/static/chunks/app/_not-found/page-83098d1c18b5ff49.js +1 -0
  132. package/scope/.next/static/chunks/app/api/environments/route-95e822afbebe548b.js +1 -0
  133. package/scope/.next/static/chunks/app/api/ingest/route-95e822afbebe548b.js +1 -0
  134. package/scope/.next/static/chunks/app/api/models/route-95e822afbebe548b.js +1 -0
  135. package/scope/.next/static/chunks/app/api/replay/route-95e822afbebe548b.js +1 -0
  136. package/scope/.next/static/chunks/app/api/sessions/[traceId]/route-95e822afbebe548b.js +1 -0
  137. package/scope/.next/static/chunks/app/api/sessions/route-95e822afbebe548b.js +1 -0
  138. package/scope/.next/static/chunks/app/api/stream/route-95e822afbebe548b.js +1 -0
  139. package/scope/.next/static/chunks/app/environments/page-75403c3640fdf9de.js +1 -0
  140. package/scope/.next/static/chunks/app/layout-d12f7c5cc80486b4.js +1 -0
  141. package/scope/.next/static/chunks/app/models/page-d9b7d19485e9a640.js +1 -0
  142. package/scope/.next/static/chunks/app/page-57dce47ff6c00ddd.js +1 -0
  143. package/scope/.next/static/chunks/app/sessions/[traceId]/page-209dfd895566db6f.js +1 -0
  144. package/scope/.next/static/chunks/framework-f52ebcb9f26a1e11.js +1 -0
  145. package/scope/.next/static/chunks/main-app-2a6b1f94de31f96f.js +1 -0
  146. package/scope/.next/static/chunks/main-bd4a730124c6c896.js +1 -0
  147. package/scope/.next/static/chunks/pages/_app-5addca2b3b969fde.js +1 -0
  148. package/scope/.next/static/chunks/pages/_error-022e4ac7bbb9914f.js +1 -0
  149. package/scope/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  150. package/scope/.next/static/chunks/webpack-4501ec292abda191.js +1 -0
  151. package/scope/.next/static/css/d57be8dcbceccbc1.css +3 -0
  152. package/scope/.next/static/hyFZFZhpE5yuTp_t6QAIZ/_buildManifest.js +1 -0
  153. package/scope/.next/static/hyFZFZhpE5yuTp_t6QAIZ/_ssgManifest.js +1 -0
  154. package/scope/.next/static/media/013b72fa676f92e0-s.woff2 +0 -0
  155. package/scope/.next/static/media/22a5144ee8d83bca-s.p.woff2 +0 -0
  156. package/scope/.next/static/media/2b5b02fc7e511755-s.woff2 +0 -0
  157. package/scope/.next/static/media/65f03d54ccadf4a8-s.woff2 +0 -0
  158. package/scope/.next/static/media/7d4881bb7e1bf84d-s.p.woff2 +0 -0
  159. package/scope/.next/static/media/9766a7e9e2e0ad5a-s.woff2 +0 -0
  160. package/scope/.next/static/media/aa016aab0e6d1295-s.woff2 +0 -0
  161. package/scope/.next/static/media/b66cf8e69499582a-s.woff2 +0 -0
  162. package/scope/.next/static/media/b9408752a0c24fb9-s.woff2 +0 -0
  163. package/scope/.next/static/media/e038a29029a234f2-s.woff2 +0 -0
  164. package/scope/.next/static/media/f639721981034f88-s.woff2 +0 -0
  165. package/scope/node_modules/@next/env/dist/index.js +1 -0
  166. package/scope/node_modules/@next/env/package.json +36 -0
  167. package/scope/node_modules/@swc/helpers/_/_class_private_field_loose_base/package.json +4 -0
  168. package/scope/node_modules/@swc/helpers/_/_class_private_field_loose_key/package.json +4 -0
  169. package/scope/node_modules/@swc/helpers/_/_interop_require_default/package.json +4 -0
  170. package/scope/node_modules/@swc/helpers/_/_interop_require_wildcard/package.json +4 -0
  171. package/scope/node_modules/@swc/helpers/cjs/_class_private_field_loose_base.cjs +10 -0
  172. package/scope/node_modules/@swc/helpers/cjs/_class_private_field_loose_key.cjs +8 -0
  173. package/scope/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
  174. package/scope/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
  175. package/scope/node_modules/@swc/helpers/package.json +471 -0
  176. package/scope/node_modules/client-only/index.js +0 -0
  177. package/scope/node_modules/client-only/package.json +19 -0
  178. package/scope/node_modules/nanoid/non-secure/index.cjs +34 -0
  179. package/scope/node_modules/nanoid/non-secure/package.json +6 -0
  180. package/scope/node_modules/nanoid/package.json +89 -0
  181. package/scope/node_modules/next/dist/build/analysis/extract-const-value.js +205 -0
  182. package/scope/node_modules/next/dist/build/analysis/get-page-static-info.js +498 -0
  183. package/scope/node_modules/next/dist/build/analysis/parse-module.js +20 -0
  184. package/scope/node_modules/next/dist/build/babel/loader/get-config.js +390 -0
  185. package/scope/node_modules/next/dist/build/babel/loader/index.js +56 -0
  186. package/scope/node_modules/next/dist/build/babel/loader/transform.js +103 -0
  187. package/scope/node_modules/next/dist/build/babel/loader/util.js +20 -0
  188. package/scope/node_modules/next/dist/build/babel/plugins/commonjs.js +42 -0
  189. package/scope/node_modules/next/dist/build/babel/plugins/next-font-unsupported.js +36 -0
  190. package/scope/node_modules/next/dist/build/babel/plugins/next-page-config.js +144 -0
  191. package/scope/node_modules/next/dist/build/babel/plugins/next-page-disallow-re-export-all-exports.js +29 -0
  192. package/scope/node_modules/next/dist/build/babel/plugins/next-ssg-transform.js +345 -0
  193. package/scope/node_modules/next/dist/build/build-context.js +58 -0
  194. package/scope/node_modules/next/dist/build/create-compiler-aliases.js +434 -0
  195. package/scope/node_modules/next/dist/build/define-env.js +229 -0
  196. package/scope/node_modules/next/dist/build/deployment-id.js +18 -0
  197. package/scope/node_modules/next/dist/build/entries.js +856 -0
  198. package/scope/node_modules/next/dist/build/get-babel-config-file.js +35 -0
  199. package/scope/node_modules/next/dist/build/get-babel-loader-config.js +106 -0
  200. package/scope/node_modules/next/dist/build/handle-externals.js +290 -0
  201. package/scope/node_modules/next/dist/build/load-entrypoint.js +31 -0
  202. package/scope/node_modules/next/dist/build/load-jsconfig.js +161 -0
  203. package/scope/node_modules/next/dist/build/next-config-ts/require-hook.js +85 -0
  204. package/scope/node_modules/next/dist/build/next-config-ts/transpile-config.js +109 -0
  205. package/scope/node_modules/next/dist/build/next-dir-paths.js +37 -0
  206. package/scope/node_modules/next/dist/build/normalize-catchall-routes.js +76 -0
  207. package/scope/node_modules/next/dist/build/output/format.js +84 -0
  208. package/scope/node_modules/next/dist/build/output/index.js +285 -0
  209. package/scope/node_modules/next/dist/build/output/log.js +126 -0
  210. package/scope/node_modules/next/dist/build/output/store.js +218 -0
  211. package/scope/node_modules/next/dist/build/polyfills/fetch/index.js +6 -0
  212. package/scope/node_modules/next/dist/build/polyfills/fetch/whatwg-fetch.js +7 -0
  213. package/scope/node_modules/next/dist/build/polyfills/object-assign.js +6 -0
  214. package/scope/node_modules/next/dist/build/polyfills/object.assign/auto.js +4 -0
  215. package/scope/node_modules/next/dist/build/polyfills/object.assign/implementation.js +4 -0
  216. package/scope/node_modules/next/dist/build/polyfills/object.assign/polyfill.js +6 -0
  217. package/scope/node_modules/next/dist/build/polyfills/object.assign/shim.js +6 -0
  218. package/scope/node_modules/next/dist/build/polyfills/polyfill-nomodule.js +1 -0
  219. package/scope/node_modules/next/dist/build/polyfills/process.js +5 -0
  220. package/scope/node_modules/next/dist/build/segment-config/app/app-segment-config.js +97 -0
  221. package/scope/node_modules/next/dist/build/segment-config/app/app-segments.js +160 -0
  222. package/scope/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +52 -0
  223. package/scope/node_modules/next/dist/build/segment-config/middleware/middleware-config.js +121 -0
  224. package/scope/node_modules/next/dist/build/segment-config/pages/pages-segment-config.js +68 -0
  225. package/scope/node_modules/next/dist/build/static-paths/app.js +642 -0
  226. package/scope/node_modules/next/dist/build/static-paths/pages.js +169 -0
  227. package/scope/node_modules/next/dist/build/static-paths/utils.js +42 -0
  228. package/scope/node_modules/next/dist/build/swc/index.js +1200 -0
  229. package/scope/node_modules/next/dist/build/swc/options.js +391 -0
  230. package/scope/node_modules/next/dist/build/utils.js +1445 -0
  231. package/scope/node_modules/next/dist/build/webpack/cache-invalidation.js +91 -0
  232. package/scope/node_modules/next/dist/build/webpack/config/blocks/base.js +86 -0
  233. package/scope/node_modules/next/dist/build/webpack/config/blocks/css/index.js +576 -0
  234. package/scope/node_modules/next/dist/build/webpack/config/blocks/css/loaders/client.js +49 -0
  235. package/scope/node_modules/next/dist/build/webpack/config/blocks/css/loaders/file-resolve.js +21 -0
  236. package/scope/node_modules/next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent.js +37 -0
  237. package/scope/node_modules/next/dist/build/webpack/config/blocks/css/loaders/global.js +64 -0
  238. package/scope/node_modules/next/dist/build/webpack/config/blocks/css/loaders/index.js +22 -0
  239. package/scope/node_modules/next/dist/build/webpack/config/blocks/css/loaders/modules.js +85 -0
  240. package/scope/node_modules/next/dist/build/webpack/config/blocks/css/loaders/next-font.js +62 -0
  241. package/scope/node_modules/next/dist/build/webpack/config/blocks/css/messages.js +45 -0
  242. package/scope/node_modules/next/dist/build/webpack/config/blocks/css/plugins.js +190 -0
  243. package/scope/node_modules/next/dist/build/webpack/config/blocks/images/index.js +42 -0
  244. package/scope/node_modules/next/dist/build/webpack/config/blocks/images/messages.js +16 -0
  245. package/scope/node_modules/next/dist/build/webpack/config/helpers.js +78 -0
  246. package/scope/node_modules/next/dist/build/webpack/config/index.js +46 -0
  247. package/scope/node_modules/next/dist/build/webpack/config/utils.js +13 -0
  248. package/scope/node_modules/next/dist/build/webpack/loaders/css-loader/src/CssSyntaxError.js +32 -0
  249. package/scope/node_modules/next/dist/build/webpack/loaders/css-loader/src/camelcase.js +93 -0
  250. package/scope/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js +289 -0
  251. package/scope/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/index.js +36 -0
  252. package/scope/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-icss-parser.js +107 -0
  253. package/scope/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-import-parser.js +223 -0
  254. package/scope/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-url-parser.js +327 -0
  255. package/scope/node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js +91 -0
  256. package/scope/node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/getUrl.js +26 -0
  257. package/scope/node_modules/next/dist/build/webpack/loaders/css-loader/src/utils.js +461 -0
  258. package/scope/node_modules/next/dist/build/webpack/loaders/get-module-build-info.js +15 -0
  259. package/scope/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/codegen.js +156 -0
  260. package/scope/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/index.js +27 -0
  261. package/scope/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/interface.js +17 -0
  262. package/scope/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/loader.js +424 -0
  263. package/scope/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/minify.js +94 -0
  264. package/scope/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/utils.js +58 -0
  265. package/scope/node_modules/next/dist/build/webpack/loaders/next-flight-css-loader.js +56 -0
  266. package/scope/node_modules/next/dist/build/webpack/loaders/next-flight-loader/index.js +211 -0
  267. package/scope/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js +59 -0
  268. package/scope/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js +141 -0
  269. package/scope/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/Error.js +40 -0
  270. package/scope/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/Warning.js +35 -0
  271. package/scope/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js +126 -0
  272. package/scope/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/utils.js +89 -0
  273. package/scope/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/index.js +104 -0
  274. package/scope/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/file-protocol.js +78 -0
  275. package/scope/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/join-function.js +190 -0
  276. package/scope/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/postcss.js +94 -0
  277. package/scope/node_modules/next/dist/build/webpack/loaders/resolve-url-loader/lib/value-processor.js +99 -0
  278. package/scope/node_modules/next/dist/build/webpack/loaders/utils.js +100 -0
  279. package/scope/node_modules/next/dist/build/webpack/plugins/app-build-manifest-plugin.js +62 -0
  280. package/scope/node_modules/next/dist/build/webpack/plugins/build-manifest-plugin.js +259 -0
  281. package/scope/node_modules/next/dist/build/webpack/plugins/copy-file-plugin.js +67 -0
  282. package/scope/node_modules/next/dist/build/webpack/plugins/css-chunking-plugin.js +277 -0
  283. package/scope/node_modules/next/dist/build/webpack/plugins/css-minimizer-plugin.js +92 -0
  284. package/scope/node_modules/next/dist/build/webpack/plugins/devtools-ignore-list-plugin.js +78 -0
  285. package/scope/node_modules/next/dist/build/webpack/plugins/eval-source-map-dev-tool-plugin.js +191 -0
  286. package/scope/node_modules/next/dist/build/webpack/plugins/flight-client-entry-plugin.js +777 -0
  287. package/scope/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.js +420 -0
  288. package/scope/node_modules/next/dist/build/webpack/plugins/jsconfig-paths-plugin.js +219 -0
  289. package/scope/node_modules/next/dist/build/webpack/plugins/memory-with-gc-cache-plugin.js +114 -0
  290. package/scope/node_modules/next/dist/build/webpack/plugins/middleware-plugin.js +611 -0
  291. package/scope/node_modules/next/dist/build/webpack/plugins/mini-css-extract-plugin.js +24 -0
  292. package/scope/node_modules/next/dist/build/webpack/plugins/minify-webpack-plugin/src/index.js +191 -0
  293. package/scope/node_modules/next/dist/build/webpack/plugins/next-drop-client-page-plugin.js +85 -0
  294. package/scope/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.js +120 -0
  295. package/scope/node_modules/next/dist/build/webpack/plugins/next-trace-entrypoints-plugin.js +542 -0
  296. package/scope/node_modules/next/dist/build/webpack/plugins/next-types-plugin/index.js +591 -0
  297. package/scope/node_modules/next/dist/build/webpack/plugins/next-types-plugin/shared.js +14 -0
  298. package/scope/node_modules/next/dist/build/webpack/plugins/nextjs-require-cache-hot-reloader.js +57 -0
  299. package/scope/node_modules/next/dist/build/webpack/plugins/optional-peer-dependency-resolve-plugin.js +45 -0
  300. package/scope/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.js +146 -0
  301. package/scope/node_modules/next/dist/build/webpack/plugins/profiling-plugin.js +282 -0
  302. package/scope/node_modules/next/dist/build/webpack/plugins/react-loadable-plugin.js +169 -0
  303. package/scope/node_modules/next/dist/build/webpack/plugins/rspack-flight-client-entry-plugin.js +97 -0
  304. package/scope/node_modules/next/dist/build/webpack/plugins/rspack-profiling-plugin.js +62 -0
  305. package/scope/node_modules/next/dist/build/webpack/plugins/slow-module-detection-plugin.js +190 -0
  306. package/scope/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.js +62 -0
  307. package/scope/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.js +188 -0
  308. package/scope/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.js +43 -0
  309. package/scope/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/getModuleTrace.js +89 -0
  310. package/scope/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/index.js +43 -0
  311. package/scope/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parse-dynamic-code-evaluation-error.js +19 -0
  312. package/scope/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseBabel.js +29 -0
  313. package/scope/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseCss.js +29 -0
  314. package/scope/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextAppLoaderError.js +26 -0
  315. package/scope/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextFontError.js +33 -0
  316. package/scope/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextInvalidImportError.js +26 -0
  317. package/scope/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNotFoundError.js +166 -0
  318. package/scope/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseScss.js +42 -0
  319. package/scope/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/simpleWebpackError.js +18 -0
  320. package/scope/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/webpackModuleError.js +138 -0
  321. package/scope/node_modules/next/dist/build/webpack/stringify-request.js +15 -0
  322. package/scope/node_modules/next/dist/build/webpack/utils.js +109 -0
  323. package/scope/node_modules/next/dist/build/webpack-config-rules/resolve.js +56 -0
  324. package/scope/node_modules/next/dist/build/webpack-config.js +2279 -0
  325. package/scope/node_modules/next/dist/cli/next-test.js +170 -0
  326. package/scope/node_modules/next/dist/client/add-base-path.js +24 -0
  327. package/scope/node_modules/next/dist/client/add-locale.js +28 -0
  328. package/scope/node_modules/next/dist/client/app-build-id.js +49 -0
  329. package/scope/node_modules/next/dist/client/app-call-server.js +34 -0
  330. package/scope/node_modules/next/dist/client/app-find-source-map-url.js +38 -0
  331. package/scope/node_modules/next/dist/client/assign-location.js +29 -0
  332. package/scope/node_modules/next/dist/client/components/app-router-announcer.js +80 -0
  333. package/scope/node_modules/next/dist/client/components/app-router-headers.js +113 -0
  334. package/scope/node_modules/next/dist/client/components/app-router-instance.js +344 -0
  335. package/scope/node_modules/next/dist/client/components/app-router.js +542 -0
  336. package/scope/node_modules/next/dist/client/components/bailout-to-client-rendering.js +47 -0
  337. package/scope/node_modules/next/dist/client/components/builtin/default.js +35 -0
  338. package/scope/node_modules/next/dist/client/components/builtin/global-error.js +83 -0
  339. package/scope/node_modules/next/dist/client/components/builtin/global-not-found.js +31 -0
  340. package/scope/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +53 -0
  341. package/scope/node_modules/next/dist/client/components/error-boundary.js +135 -0
  342. package/scope/node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js +87 -0
  343. package/scope/node_modules/next/dist/client/components/errors/root-error-boundary.js +42 -0
  344. package/scope/node_modules/next/dist/client/components/forbidden.js +49 -0
  345. package/scope/node_modules/next/dist/client/components/handle-isr-error.js +30 -0
  346. package/scope/node_modules/next/dist/client/components/hooks-server-context.js +42 -0
  347. package/scope/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js +126 -0
  348. package/scope/node_modules/next/dist/client/components/http-access-fallback/error-fallback.js +66 -0
  349. package/scope/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +72 -0
  350. package/scope/node_modules/next/dist/client/components/is-next-router-error.js +23 -0
  351. package/scope/node_modules/next/dist/client/components/links.js +343 -0
  352. package/scope/node_modules/next/dist/client/components/match-segments.js +32 -0
  353. package/scope/node_modules/next/dist/client/components/nav-failure-handler.js +61 -0
  354. package/scope/node_modules/next/dist/client/components/navigation-untracked.js +64 -0
  355. package/scope/node_modules/next/dist/client/components/navigation.js +186 -0
  356. package/scope/node_modules/next/dist/client/components/navigation.react-server.js +90 -0
  357. package/scope/node_modules/next/dist/client/components/noop-head.js +21 -0
  358. package/scope/node_modules/next/dist/client/components/not-found.js +43 -0
  359. package/scope/node_modules/next/dist/client/components/promise-queue.js +91 -0
  360. package/scope/node_modules/next/dist/client/components/redirect-boundary.js +100 -0
  361. package/scope/node_modules/next/dist/client/components/redirect-error.js +52 -0
  362. package/scope/node_modules/next/dist/client/components/redirect-status-code.js +24 -0
  363. package/scope/node_modules/next/dist/client/components/redirect.js +94 -0
  364. package/scope/node_modules/next/dist/client/components/router-reducer/aliased-prefetch-navigations.js +206 -0
  365. package/scope/node_modules/next/dist/client/components/router-reducer/apply-flight-data.js +53 -0
  366. package/scope/node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js +105 -0
  367. package/scope/node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js +78 -0
  368. package/scope/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +131 -0
  369. package/scope/node_modules/next/dist/client/components/router-reducer/create-href-from-url.js +22 -0
  370. package/scope/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +117 -0
  371. package/scope/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +33 -0
  372. package/scope/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +302 -0
  373. package/scope/node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js +111 -0
  374. package/scope/node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js +148 -0
  375. package/scope/node_modules/next/dist/client/components/router-reducer/handle-mutable.js +64 -0
  376. package/scope/node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js +25 -0
  377. package/scope/node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js +60 -0
  378. package/scope/node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js +32 -0
  379. package/scope/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +51 -0
  380. package/scope/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +821 -0
  381. package/scope/node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js +308 -0
  382. package/scope/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +64 -0
  383. package/scope/node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js +21 -0
  384. package/scope/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +39 -0
  385. package/scope/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +98 -0
  386. package/scope/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +390 -0
  387. package/scope/node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js +57 -0
  388. package/scope/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +111 -0
  389. package/scope/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +54 -0
  390. package/scope/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +288 -0
  391. package/scope/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +66 -0
  392. package/scope/node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js +105 -0
  393. package/scope/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +78 -0
  394. package/scope/node_modules/next/dist/client/components/router-reducer/router-reducer.js +71 -0
  395. package/scope/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +67 -0
  396. package/scope/node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js +39 -0
  397. package/scope/node_modules/next/dist/client/components/segment-cache-impl/cache-key.js +28 -0
  398. package/scope/node_modules/next/dist/client/components/segment-cache-impl/cache.js +1478 -0
  399. package/scope/node_modules/next/dist/client/components/segment-cache-impl/lru.js +121 -0
  400. package/scope/node_modules/next/dist/client/components/segment-cache-impl/navigation.js +355 -0
  401. package/scope/node_modules/next/dist/client/components/segment-cache-impl/prefetch.js +31 -0
  402. package/scope/node_modules/next/dist/client/components/segment-cache-impl/scheduler.js +944 -0
  403. package/scope/node_modules/next/dist/client/components/segment-cache-impl/tuple-map.js +153 -0
  404. package/scope/node_modules/next/dist/client/components/segment-cache.js +181 -0
  405. package/scope/node_modules/next/dist/client/components/static-generation-bailout.js +42 -0
  406. package/scope/node_modules/next/dist/client/components/styles/access-error-styles.js +48 -0
  407. package/scope/node_modules/next/dist/client/components/unauthorized.js +50 -0
  408. package/scope/node_modules/next/dist/client/components/unrecognized-action-error.js +39 -0
  409. package/scope/node_modules/next/dist/client/components/unresolved-thenable.js +23 -0
  410. package/scope/node_modules/next/dist/client/components/unstable-rethrow.browser.js +28 -0
  411. package/scope/node_modules/next/dist/client/components/unstable-rethrow.js +25 -0
  412. package/scope/node_modules/next/dist/client/components/unstable-rethrow.server.js +32 -0
  413. package/scope/node_modules/next/dist/client/components/use-action-queue.js +70 -0
  414. package/scope/node_modules/next/dist/client/detect-domain-locale.js +26 -0
  415. package/scope/node_modules/next/dist/client/dev/hot-reloader/app/hot-reloader-app.js +471 -0
  416. package/scope/node_modules/next/dist/client/dev/hot-reloader/app/use-websocket.js +134 -0
  417. package/scope/node_modules/next/dist/client/dev/hot-reloader/get-socket-url.js +38 -0
  418. package/scope/node_modules/next/dist/client/dev/hot-reloader/pages/hot-reloader-pages.js +428 -0
  419. package/scope/node_modules/next/dist/client/dev/hot-reloader/pages/websocket.js +108 -0
  420. package/scope/node_modules/next/dist/client/dev/hot-reloader/shared.js +39 -0
  421. package/scope/node_modules/next/dist/client/dev/hot-reloader/turbopack-hot-reloader-common.js +157 -0
  422. package/scope/node_modules/next/dist/client/dev/report-hmr-latency.js +50 -0
  423. package/scope/node_modules/next/dist/client/dev/runtime-error-handler.js +21 -0
  424. package/scope/node_modules/next/dist/client/flight-data-helpers.js +127 -0
  425. package/scope/node_modules/next/dist/client/has-base-path.js +23 -0
  426. package/scope/node_modules/next/dist/client/lib/console.js +177 -0
  427. package/scope/node_modules/next/dist/client/normalize-trailing-slash.js +36 -0
  428. package/scope/node_modules/next/dist/client/react-client-callbacks/on-recoverable-error.js +52 -0
  429. package/scope/node_modules/next/dist/client/react-client-callbacks/report-global-error.js +23 -0
  430. package/scope/node_modules/next/dist/client/remove-base-path.js +32 -0
  431. package/scope/node_modules/next/dist/client/remove-locale.js +28 -0
  432. package/scope/node_modules/next/dist/client/request-idle-callback.js +44 -0
  433. package/scope/node_modules/next/dist/client/resolve-href.js +106 -0
  434. package/scope/node_modules/next/dist/client/route-loader.js +348 -0
  435. package/scope/node_modules/next/dist/client/route-params.js +176 -0
  436. package/scope/node_modules/next/dist/client/router.js +199 -0
  437. package/scope/node_modules/next/dist/client/script.js +348 -0
  438. package/scope/node_modules/next/dist/client/set-attributes-from-props.js +68 -0
  439. package/scope/node_modules/next/dist/client/trusted-types.js +40 -0
  440. package/scope/node_modules/next/dist/client/with-router.js +37 -0
  441. package/scope/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +339 -0
  442. package/scope/node_modules/next/dist/compiled/@edge-runtime/cookies/package.json +1 -0
  443. package/scope/node_modules/next/dist/compiled/@edge-runtime/ponyfill/index.js +46 -0
  444. package/scope/node_modules/next/dist/compiled/@edge-runtime/ponyfill/package.json +1 -0
  445. package/scope/node_modules/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +1 -0
  446. package/scope/node_modules/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +1 -0
  447. package/scope/node_modules/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +1 -0
  448. package/scope/node_modules/next/dist/compiled/@edge-runtime/primitives/index.js +5 -0
  449. package/scope/node_modules/next/dist/compiled/@edge-runtime/primitives/load.js +18713 -0
  450. package/scope/node_modules/next/dist/compiled/@edge-runtime/primitives/package.json +1 -0
  451. package/scope/node_modules/next/dist/compiled/@edge-runtime/primitives/stream.js +44 -0
  452. package/scope/node_modules/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +1 -0
  453. package/scope/node_modules/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +1 -0
  454. package/scope/node_modules/next/dist/compiled/@hapi/accept/index.js +1 -0
  455. package/scope/node_modules/next/dist/compiled/@hapi/accept/package.json +1 -0
  456. package/scope/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -0
  457. package/scope/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +1 -0
  458. package/scope/node_modules/next/dist/compiled/@napi-rs/triples/index.js +1 -0
  459. package/scope/node_modules/next/dist/compiled/@napi-rs/triples/package.json +1 -0
  460. package/scope/node_modules/next/dist/compiled/@next/font/dist/constants.js +10 -0
  461. package/scope/node_modules/next/dist/compiled/@next/font/dist/fontkit/index.js +1 -0
  462. package/scope/node_modules/next/dist/compiled/@next/font/dist/format-available-values.js +9 -0
  463. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/fetch-css-from-google-fonts.js +28 -0
  464. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/fetch-font-file.js +24 -0
  465. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/fetch-resource.js +46 -0
  466. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/find-font-files-in-css.js +34 -0
  467. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/font-data.json +17669 -0
  468. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/get-fallback-font-override-metrics.js +62 -0
  469. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/get-font-axes.js +66 -0
  470. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/get-google-fonts-url.js +55 -0
  471. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/get-proxy-agent.js +23 -0
  472. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/google-fonts-metadata.js +8 -0
  473. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/loader.js +175 -0
  474. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/retry.js +18 -0
  475. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/sort-fonts-variant-values.js +26 -0
  476. package/scope/node_modules/next/dist/compiled/@next/font/dist/google/validate-google-font-function-call.js +101 -0
  477. package/scope/node_modules/next/dist/compiled/@next/font/dist/local/get-fallback-metrics-from-font-file.js +85 -0
  478. package/scope/node_modules/next/dist/compiled/@next/font/dist/local/loader.js +78 -0
  479. package/scope/node_modules/next/dist/compiled/@next/font/dist/local/pick-font-file-for-fallback-generation.js +85 -0
  480. package/scope/node_modules/next/dist/compiled/@next/font/dist/local/validate-local-font-function-call.js +66 -0
  481. package/scope/node_modules/next/dist/compiled/@next/font/dist/next-font-error.js +11 -0
  482. package/scope/node_modules/next/dist/compiled/@next/font/google/loader.js +1 -0
  483. package/scope/node_modules/next/dist/compiled/@next/font/local/loader.js +1 -0
  484. package/scope/node_modules/next/dist/compiled/@next/font/package.json +1 -0
  485. package/scope/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/ReactRefreshWebpackPlugin.js +130 -0
  486. package/scope/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/ReactRefreshModule.runtime.js +69 -0
  487. package/scope/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js +170 -0
  488. package/scope/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/loader.js +21 -0
  489. package/scope/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js +27 -0
  490. package/scope/node_modules/next/dist/compiled/@opentelemetry/api/index.js +1 -0
  491. package/scope/node_modules/next/dist/compiled/@opentelemetry/api/package.json +1 -0
  492. package/scope/node_modules/next/dist/compiled/@vercel/nft/LICENSE +7 -0
  493. package/scope/node_modules/next/dist/compiled/@vercel/nft/index.js +24 -0
  494. package/scope/node_modules/next/dist/compiled/@vercel/nft/package.json +1 -0
  495. package/scope/node_modules/next/dist/compiled/acorn/acorn.js +1 -0
  496. package/scope/node_modules/next/dist/compiled/acorn/package.json +1 -0
  497. package/scope/node_modules/next/dist/compiled/amphtml-validator/index.js +1 -0
  498. package/scope/node_modules/next/dist/compiled/amphtml-validator/package.json +1 -0
  499. package/scope/node_modules/next/dist/compiled/amphtml-validator/validator_wasm.js +2672 -0
  500. package/scope/node_modules/next/dist/compiled/assert/assert.js +7 -0
  501. package/scope/node_modules/next/dist/compiled/assert/package.json +1 -0
  502. package/scope/node_modules/next/dist/compiled/async-retry/index.js +1 -0
  503. package/scope/node_modules/next/dist/compiled/async-retry/package.json +1 -0
  504. package/scope/node_modules/next/dist/compiled/async-sema/index.js +1 -0
  505. package/scope/node_modules/next/dist/compiled/async-sema/package.json +1 -0
  506. package/scope/node_modules/next/dist/compiled/babel/bundle.js +227 -0
  507. package/scope/node_modules/next/dist/compiled/babel/code-frame.js +1 -0
  508. package/scope/node_modules/next/dist/compiled/babel/core-lib-block-hoist-plugin.js +1 -0
  509. package/scope/node_modules/next/dist/compiled/babel/core-lib-config.js +1 -0
  510. package/scope/node_modules/next/dist/compiled/babel/core-lib-normalize-file.js +1 -0
  511. package/scope/node_modules/next/dist/compiled/babel/core-lib-normalize-opts.js +1 -0
  512. package/scope/node_modules/next/dist/compiled/babel/core-lib-plugin-pass.js +1 -0
  513. package/scope/node_modules/next/dist/compiled/babel/core.js +1 -0
  514. package/scope/node_modules/next/dist/compiled/babel/generator.js +1 -0
  515. package/scope/node_modules/next/dist/compiled/babel/package.json +1 -0
  516. package/scope/node_modules/next/dist/compiled/babel/parser.js +1 -0
  517. package/scope/node_modules/next/dist/compiled/babel/plugin-syntax-jsx.js +1 -0
  518. package/scope/node_modules/next/dist/compiled/babel/plugin-transform-define.js +1 -0
  519. package/scope/node_modules/next/dist/compiled/babel/plugin-transform-modules-commonjs.js +1 -0
  520. package/scope/node_modules/next/dist/compiled/babel/preset-typescript.js +1 -0
  521. package/scope/node_modules/next/dist/compiled/babel/traverse.js +1 -0
  522. package/scope/node_modules/next/dist/compiled/babel/types.js +1 -0
  523. package/scope/node_modules/next/dist/compiled/babel-code-frame/index.js +1 -0
  524. package/scope/node_modules/next/dist/compiled/babel-code-frame/package.json +1 -0
  525. package/scope/node_modules/next/dist/compiled/babel-packages/package.json +1 -0
  526. package/scope/node_modules/next/dist/compiled/babel-packages/packages-bundle.js +335 -0
  527. package/scope/node_modules/next/dist/compiled/browserify-zlib/index.js +1 -0
  528. package/scope/node_modules/next/dist/compiled/browserify-zlib/package.json +1 -0
  529. package/scope/node_modules/next/dist/compiled/browserslist/index.js +1 -0
  530. package/scope/node_modules/next/dist/compiled/browserslist/package.json +1 -0
  531. package/scope/node_modules/next/dist/compiled/buffer/index.js +9 -0
  532. package/scope/node_modules/next/dist/compiled/buffer/package.json +1 -0
  533. package/scope/node_modules/next/dist/compiled/busboy/index.js +1 -0
  534. package/scope/node_modules/next/dist/compiled/busboy/package.json +1 -0
  535. package/scope/node_modules/next/dist/compiled/bytes/index.js +8 -0
  536. package/scope/node_modules/next/dist/compiled/bytes/package.json +1 -0
  537. package/scope/node_modules/next/dist/compiled/ci-info/index.js +1 -0
  538. package/scope/node_modules/next/dist/compiled/ci-info/package.json +1 -0
  539. package/scope/node_modules/next/dist/compiled/commander/index.js +1 -0
  540. package/scope/node_modules/next/dist/compiled/commander/package.json +1 -0
  541. package/scope/node_modules/next/dist/compiled/comment-json/index.js +7 -0
  542. package/scope/node_modules/next/dist/compiled/comment-json/package.json +1 -0
  543. package/scope/node_modules/next/dist/compiled/compression/index.js +58 -0
  544. package/scope/node_modules/next/dist/compiled/compression/package.json +1 -0
  545. package/scope/node_modules/next/dist/compiled/conf/index.js +15 -0
  546. package/scope/node_modules/next/dist/compiled/conf/package.json +1 -0
  547. package/scope/node_modules/next/dist/compiled/constants-browserify/constants.json +209 -0
  548. package/scope/node_modules/next/dist/compiled/constants-browserify/package.json +1 -0
  549. package/scope/node_modules/next/dist/compiled/content-disposition/index.js +6 -0
  550. package/scope/node_modules/next/dist/compiled/content-disposition/package.json +1 -0
  551. package/scope/node_modules/next/dist/compiled/cookie/index.js +7 -0
  552. package/scope/node_modules/next/dist/compiled/cookie/package.json +1 -0
  553. package/scope/node_modules/next/dist/compiled/cross-spawn/index.js +1 -0
  554. package/scope/node_modules/next/dist/compiled/cross-spawn/package.json +1 -0
  555. package/scope/node_modules/next/dist/compiled/crypto-browserify/index.js +3 -0
  556. package/scope/node_modules/next/dist/compiled/crypto-browserify/package.json +1 -0
  557. package/scope/node_modules/next/dist/compiled/cssnano-simple/index.js +320 -0
  558. package/scope/node_modules/next/dist/compiled/data-uri-to-buffer/index.js +1 -0
  559. package/scope/node_modules/next/dist/compiled/data-uri-to-buffer/package.json +1 -0
  560. package/scope/node_modules/next/dist/compiled/debug/index.js +1 -0
  561. package/scope/node_modules/next/dist/compiled/debug/package.json +1 -0
  562. package/scope/node_modules/next/dist/compiled/devalue/devalue.umd.js +1 -0
  563. package/scope/node_modules/next/dist/compiled/devalue/package.json +1 -0
  564. package/scope/node_modules/next/dist/compiled/domain-browser/index.js +1 -0
  565. package/scope/node_modules/next/dist/compiled/domain-browser/package.json +1 -0
  566. package/scope/node_modules/next/dist/compiled/edge-runtime/index.js +1 -0
  567. package/scope/node_modules/next/dist/compiled/edge-runtime/package.json +1 -0
  568. package/scope/node_modules/next/dist/compiled/events/events.js +1 -0
  569. package/scope/node_modules/next/dist/compiled/events/package.json +1 -0
  570. package/scope/node_modules/next/dist/compiled/find-up/index.js +1 -0
  571. package/scope/node_modules/next/dist/compiled/find-up/package.json +1 -0
  572. package/scope/node_modules/next/dist/compiled/fresh/index.js +8 -0
  573. package/scope/node_modules/next/dist/compiled/fresh/package.json +1 -0
  574. package/scope/node_modules/next/dist/compiled/glob/glob.js +1 -0
  575. package/scope/node_modules/next/dist/compiled/glob/package.json +1 -0
  576. package/scope/node_modules/next/dist/compiled/gzip-size/index.js +1 -0
  577. package/scope/node_modules/next/dist/compiled/gzip-size/package.json +1 -0
  578. package/scope/node_modules/next/dist/compiled/http-proxy/index.js +34 -0
  579. package/scope/node_modules/next/dist/compiled/http-proxy/package.json +1 -0
  580. package/scope/node_modules/next/dist/compiled/http-proxy-agent/index.js +1 -0
  581. package/scope/node_modules/next/dist/compiled/http-proxy-agent/package.json +1 -0
  582. package/scope/node_modules/next/dist/compiled/https-browserify/index.js +1 -0
  583. package/scope/node_modules/next/dist/compiled/https-browserify/package.json +1 -0
  584. package/scope/node_modules/next/dist/compiled/https-proxy-agent/index.js +1 -0
  585. package/scope/node_modules/next/dist/compiled/https-proxy-agent/package.json +1 -0
  586. package/scope/node_modules/next/dist/compiled/icss-utils/index.js +1 -0
  587. package/scope/node_modules/next/dist/compiled/icss-utils/package.json +1 -0
  588. package/scope/node_modules/next/dist/compiled/ignore-loader/index.js +1 -0
  589. package/scope/node_modules/next/dist/compiled/ignore-loader/package.json +1 -0
  590. package/scope/node_modules/next/dist/compiled/image-detector/detector.js +1 -0
  591. package/scope/node_modules/next/dist/compiled/image-size/index.js +1 -0
  592. package/scope/node_modules/next/dist/compiled/image-size/package.json +1 -0
  593. package/scope/node_modules/next/dist/compiled/is-animated/index.js +1 -0
  594. package/scope/node_modules/next/dist/compiled/is-animated/package.json +1 -0
  595. package/scope/node_modules/next/dist/compiled/is-docker/index.js +1 -0
  596. package/scope/node_modules/next/dist/compiled/is-docker/package.json +1 -0
  597. package/scope/node_modules/next/dist/compiled/is-wsl/index.js +1 -0
  598. package/scope/node_modules/next/dist/compiled/is-wsl/package.json +1 -0
  599. package/scope/node_modules/next/dist/compiled/jest-worker/index.js +1 -0
  600. package/scope/node_modules/next/dist/compiled/jest-worker/package.json +1 -0
  601. package/scope/node_modules/next/dist/compiled/jest-worker/processChild.js +1 -0
  602. package/scope/node_modules/next/dist/compiled/jest-worker/threadChild.js +1 -0
  603. package/scope/node_modules/next/dist/compiled/json5/index.js +1 -0
  604. package/scope/node_modules/next/dist/compiled/json5/package.json +1 -0
  605. package/scope/node_modules/next/dist/compiled/jsonwebtoken/index.js +11 -0
  606. package/scope/node_modules/next/dist/compiled/jsonwebtoken/package.json +1 -0
  607. package/scope/node_modules/next/dist/compiled/loader-utils2/index.js +1 -0
  608. package/scope/node_modules/next/dist/compiled/loader-utils2/package.json +1 -0
  609. package/scope/node_modules/next/dist/compiled/loader-utils3/index.js +1 -0
  610. package/scope/node_modules/next/dist/compiled/loader-utils3/package.json +1 -0
  611. package/scope/node_modules/next/dist/compiled/lodash.curry/index.js +1 -0
  612. package/scope/node_modules/next/dist/compiled/lodash.curry/package.json +1 -0
  613. package/scope/node_modules/next/dist/compiled/lru-cache/index.js +1 -0
  614. package/scope/node_modules/next/dist/compiled/lru-cache/package.json +1 -0
  615. package/scope/node_modules/next/dist/compiled/mini-css-extract-plugin/cjs.js +1 -0
  616. package/scope/node_modules/next/dist/compiled/mini-css-extract-plugin/index.js +1 -0
  617. package/scope/node_modules/next/dist/compiled/mini-css-extract-plugin/package.json +1 -0
  618. package/scope/node_modules/next/dist/compiled/nanoid/index.cjs +1 -0
  619. package/scope/node_modules/next/dist/compiled/nanoid/package.json +1 -0
  620. package/scope/node_modules/next/dist/compiled/native-url/index.js +1 -0
  621. package/scope/node_modules/next/dist/compiled/native-url/package.json +1 -0
  622. package/scope/node_modules/next/dist/compiled/neo-async/async.js +1 -0
  623. package/scope/node_modules/next/dist/compiled/neo-async/package.json +1 -0
  624. package/scope/node_modules/next/dist/compiled/next-devtools/index.js +1642 -0
  625. package/scope/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +24 -0
  626. package/scope/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +24 -0
  627. package/scope/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +24 -0
  628. package/scope/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +24 -0
  629. package/scope/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +6 -0
  630. package/scope/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +19 -0
  631. package/scope/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +19 -0
  632. package/scope/node_modules/next/dist/compiled/os-browserify/browser.js +1 -0
  633. package/scope/node_modules/next/dist/compiled/os-browserify/package.json +1 -0
  634. package/scope/node_modules/next/dist/compiled/p-limit/index.js +1 -0
  635. package/scope/node_modules/next/dist/compiled/p-limit/package.json +1 -0
  636. package/scope/node_modules/next/dist/compiled/p-queue/index.js +1 -0
  637. package/scope/node_modules/next/dist/compiled/p-queue/package.json +1 -0
  638. package/scope/node_modules/next/dist/compiled/path-browserify/index.js +1 -0
  639. package/scope/node_modules/next/dist/compiled/path-browserify/package.json +1 -0
  640. package/scope/node_modules/next/dist/compiled/path-to-regexp/index.js +1 -0
  641. package/scope/node_modules/next/dist/compiled/path-to-regexp/package.json +1 -0
  642. package/scope/node_modules/next/dist/compiled/picomatch/index.js +1 -0
  643. package/scope/node_modules/next/dist/compiled/picomatch/package.json +1 -0
  644. package/scope/node_modules/next/dist/compiled/postcss-flexbugs-fixes/index.js +1 -0
  645. package/scope/node_modules/next/dist/compiled/postcss-flexbugs-fixes/package.json +1 -0
  646. package/scope/node_modules/next/dist/compiled/postcss-modules-extract-imports/index.js +1 -0
  647. package/scope/node_modules/next/dist/compiled/postcss-modules-extract-imports/package.json +1 -0
  648. package/scope/node_modules/next/dist/compiled/postcss-modules-local-by-default/index.js +2 -0
  649. package/scope/node_modules/next/dist/compiled/postcss-modules-local-by-default/package.json +1 -0
  650. package/scope/node_modules/next/dist/compiled/postcss-modules-scope/index.js +2 -0
  651. package/scope/node_modules/next/dist/compiled/postcss-modules-scope/package.json +1 -0
  652. package/scope/node_modules/next/dist/compiled/postcss-modules-values/index.js +1 -0
  653. package/scope/node_modules/next/dist/compiled/postcss-modules-values/package.json +1 -0
  654. package/scope/node_modules/next/dist/compiled/postcss-plugin-stub-for-cssnano-simple/index.js +1 -0
  655. package/scope/node_modules/next/dist/compiled/postcss-preset-env/index.cjs +94 -0
  656. package/scope/node_modules/next/dist/compiled/postcss-preset-env/package.json +1 -0
  657. package/scope/node_modules/next/dist/compiled/postcss-scss/package.json +1 -0
  658. package/scope/node_modules/next/dist/compiled/postcss-scss/scss-syntax.js +1 -0
  659. package/scope/node_modules/next/dist/compiled/postcss-value-parser/index.js +1 -0
  660. package/scope/node_modules/next/dist/compiled/postcss-value-parser/package.json +1 -0
  661. package/scope/node_modules/next/dist/compiled/process/browser.js +1 -0
  662. package/scope/node_modules/next/dist/compiled/process/package.json +1 -0
  663. package/scope/node_modules/next/dist/compiled/punycode/package.json +1 -0
  664. package/scope/node_modules/next/dist/compiled/punycode/punycode.js +1 -0
  665. package/scope/node_modules/next/dist/compiled/querystring-es3/index.js +1 -0
  666. package/scope/node_modules/next/dist/compiled/querystring-es3/package.json +1 -0
  667. package/scope/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js +132 -0
  668. package/scope/node_modules/next/dist/compiled/react-is/cjs/react-is.production.js +129 -0
  669. package/scope/node_modules/next/dist/compiled/react-is/index.js +7 -0
  670. package/scope/node_modules/next/dist/compiled/react-is/package.json +26 -0
  671. package/scope/node_modules/next/dist/compiled/react-refresh/babel.js +7 -0
  672. package/scope/node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-babel.development.js +842 -0
  673. package/scope/node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-babel.production.min.js +24 -0
  674. package/scope/node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js +658 -0
  675. package/scope/node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.production.min.js +10 -0
  676. package/scope/node_modules/next/dist/compiled/react-refresh/package.json +39 -0
  677. package/scope/node_modules/next/dist/compiled/react-refresh/runtime.js +7 -0
  678. package/scope/node_modules/next/dist/compiled/regenerator-runtime/package.json +19 -0
  679. package/scope/node_modules/next/dist/compiled/regenerator-runtime/runtime.js +729 -0
  680. package/scope/node_modules/next/dist/compiled/safe-stable-stringify/index.js +1 -0
  681. package/scope/node_modules/next/dist/compiled/safe-stable-stringify/package.json +1 -0
  682. package/scope/node_modules/next/dist/compiled/sass-loader/cjs.js +1 -0
  683. package/scope/node_modules/next/dist/compiled/sass-loader/package.json +1 -0
  684. package/scope/node_modules/next/dist/compiled/schema-utils3/index.js +3 -0
  685. package/scope/node_modules/next/dist/compiled/schema-utils3/package.json +1 -0
  686. package/scope/node_modules/next/dist/compiled/semver/index.js +1 -0
  687. package/scope/node_modules/next/dist/compiled/semver/package.json +1 -0
  688. package/scope/node_modules/next/dist/compiled/send/index.js +70 -0
  689. package/scope/node_modules/next/dist/compiled/send/package.json +1 -0
  690. package/scope/node_modules/next/dist/compiled/setimmediate/package.json +1 -0
  691. package/scope/node_modules/next/dist/compiled/setimmediate/setImmediate.js +1 -0
  692. package/scope/node_modules/next/dist/compiled/shell-quote/index.js +1 -0
  693. package/scope/node_modules/next/dist/compiled/shell-quote/package.json +1 -0
  694. package/scope/node_modules/next/dist/compiled/source-map/package.json +1 -0
  695. package/scope/node_modules/next/dist/compiled/source-map/source-map.js +1 -0
  696. package/scope/node_modules/next/dist/compiled/source-map08/package.json +1 -0
  697. package/scope/node_modules/next/dist/compiled/source-map08/source-map.js +3002 -0
  698. package/scope/node_modules/next/dist/compiled/stacktrace-parser/package.json +1 -0
  699. package/scope/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -0
  700. package/scope/node_modules/next/dist/compiled/stream-browserify/index.js +1 -0
  701. package/scope/node_modules/next/dist/compiled/stream-browserify/package.json +1 -0
  702. package/scope/node_modules/next/dist/compiled/stream-http/index.js +1 -0
  703. package/scope/node_modules/next/dist/compiled/stream-http/package.json +1 -0
  704. package/scope/node_modules/next/dist/compiled/string-hash/index.js +1 -0
  705. package/scope/node_modules/next/dist/compiled/string-hash/package.json +1 -0
  706. package/scope/node_modules/next/dist/compiled/string_decoder/package.json +1 -0
  707. package/scope/node_modules/next/dist/compiled/string_decoder/string_decoder.js +1 -0
  708. package/scope/node_modules/next/dist/compiled/strip-ansi/index.js +1 -0
  709. package/scope/node_modules/next/dist/compiled/strip-ansi/package.json +1 -0
  710. package/scope/node_modules/next/dist/compiled/superstruct/index.cjs +1 -0
  711. package/scope/node_modules/next/dist/compiled/superstruct/package.json +1 -0
  712. package/scope/node_modules/next/dist/compiled/tar/index.js +1 -0
  713. package/scope/node_modules/next/dist/compiled/tar/package.json +1 -0
  714. package/scope/node_modules/next/dist/compiled/text-table/index.js +1 -0
  715. package/scope/node_modules/next/dist/compiled/text-table/package.json +1 -0
  716. package/scope/node_modules/next/dist/compiled/timers-browserify/main.js +1 -0
  717. package/scope/node_modules/next/dist/compiled/timers-browserify/package.json +1 -0
  718. package/scope/node_modules/next/dist/compiled/tty-browserify/index.js +1 -0
  719. package/scope/node_modules/next/dist/compiled/tty-browserify/package.json +1 -0
  720. package/scope/node_modules/next/dist/compiled/unistore/package.json +1 -0
  721. package/scope/node_modules/next/dist/compiled/unistore/unistore.js +1 -0
  722. package/scope/node_modules/next/dist/compiled/util/package.json +1 -0
  723. package/scope/node_modules/next/dist/compiled/util/util.js +1 -0
  724. package/scope/node_modules/next/dist/compiled/vm-browserify/index.js +1 -0
  725. package/scope/node_modules/next/dist/compiled/vm-browserify/package.json +1 -0
  726. package/scope/node_modules/next/dist/compiled/watchpack/package.json +1 -0
  727. package/scope/node_modules/next/dist/compiled/watchpack/watchpack.js +1 -0
  728. package/scope/node_modules/next/dist/compiled/webpack-sources3/index.js +1 -0
  729. package/scope/node_modules/next/dist/compiled/webpack-sources3/package.json +1 -0
  730. package/scope/node_modules/next/dist/compiled/ws/index.js +1 -0
  731. package/scope/node_modules/next/dist/compiled/ws/package.json +1 -0
  732. package/scope/node_modules/next/dist/compiled/zod/index.cjs +1 -0
  733. package/scope/node_modules/next/dist/compiled/zod/package.json +1 -0
  734. package/scope/node_modules/next/dist/compiled/zod-validation-error/index.js +1 -0
  735. package/scope/node_modules/next/dist/compiled/zod-validation-error/package.json +1 -0
  736. package/scope/node_modules/next/dist/experimental/testmode/context.js +57 -0
  737. package/scope/node_modules/next/dist/experimental/testmode/fetch.js +142 -0
  738. package/scope/node_modules/next/dist/experimental/testmode/httpget.js +26 -0
  739. package/scope/node_modules/next/dist/experimental/testmode/server-edge.js +32 -0
  740. package/scope/node_modules/next/dist/experimental/testmode/server.js +62 -0
  741. package/scope/node_modules/next/dist/export/helpers/create-incremental-cache.js +61 -0
  742. package/scope/node_modules/next/dist/export/helpers/get-amp-html-validator.js +43 -0
  743. package/scope/node_modules/next/dist/export/utils.js +24 -0
  744. package/scope/node_modules/next/dist/lib/batcher.js +59 -0
  745. package/scope/node_modules/next/dist/lib/build-custom-route.js +39 -0
  746. package/scope/node_modules/next/dist/lib/client-and-server-references.js +43 -0
  747. package/scope/node_modules/next/dist/lib/coalesced-function.js +39 -0
  748. package/scope/node_modules/next/dist/lib/compile-error.js +14 -0
  749. package/scope/node_modules/next/dist/lib/constants.js +395 -0
  750. package/scope/node_modules/next/dist/lib/create-client-router-filter.js +67 -0
  751. package/scope/node_modules/next/dist/lib/default-transpiled-packages.json +1 -0
  752. package/scope/node_modules/next/dist/lib/detached-promise.js +32 -0
  753. package/scope/node_modules/next/dist/lib/detect-typo.js +51 -0
  754. package/scope/node_modules/next/dist/lib/download-swc.js +183 -0
  755. package/scope/node_modules/next/dist/lib/error-telemetry-utils.js +42 -0
  756. package/scope/node_modules/next/dist/lib/fallback.js +100 -0
  757. package/scope/node_modules/next/dist/lib/fatal-error.js +14 -0
  758. package/scope/node_modules/next/dist/lib/file-exists.js +53 -0
  759. package/scope/node_modules/next/dist/lib/find-config.js +102 -0
  760. package/scope/node_modules/next/dist/lib/find-pages-dir.js +54 -0
  761. package/scope/node_modules/next/dist/lib/find-root.js +111 -0
  762. package/scope/node_modules/next/dist/lib/format-dynamic-import-path.js +24 -0
  763. package/scope/node_modules/next/dist/lib/format-server-error.js +74 -0
  764. package/scope/node_modules/next/dist/lib/framework/boundary-components.js +62 -0
  765. package/scope/node_modules/next/dist/lib/framework/boundary-constants.js +36 -0
  766. package/scope/node_modules/next/dist/lib/fs/rename.js +86 -0
  767. package/scope/node_modules/next/dist/lib/fs/write-atomic.js +28 -0
  768. package/scope/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +71 -0
  769. package/scope/node_modules/next/dist/lib/get-network-host.js +44 -0
  770. package/scope/node_modules/next/dist/lib/get-project-dir.js +51 -0
  771. package/scope/node_modules/next/dist/lib/has-necessary-dependencies.js +46 -0
  772. package/scope/node_modules/next/dist/lib/helpers/get-cache-directory.js +66 -0
  773. package/scope/node_modules/next/dist/lib/helpers/get-online.js +50 -0
  774. package/scope/node_modules/next/dist/lib/helpers/get-pkg-manager.js +63 -0
  775. package/scope/node_modules/next/dist/lib/helpers/get-registry.js +45 -0
  776. package/scope/node_modules/next/dist/lib/helpers/install.js +83 -0
  777. package/scope/node_modules/next/dist/lib/install-dependencies.js +40 -0
  778. package/scope/node_modules/next/dist/lib/interop-default.js +15 -0
  779. package/scope/node_modules/next/dist/lib/is-api-route.js +15 -0
  780. package/scope/node_modules/next/dist/lib/is-app-page-route.js +15 -0
  781. package/scope/node_modules/next/dist/lib/is-app-route-route.js +15 -0
  782. package/scope/node_modules/next/dist/lib/is-edge-runtime.js +16 -0
  783. package/scope/node_modules/next/dist/lib/is-error.js +72 -0
  784. package/scope/node_modules/next/dist/lib/is-internal-component.js +36 -0
  785. package/scope/node_modules/next/dist/lib/is-serializable-props.js +106 -0
  786. package/scope/node_modules/next/dist/lib/known-edge-safe-packages.json +1 -0
  787. package/scope/node_modules/next/dist/lib/load-custom-routes.js +545 -0
  788. package/scope/node_modules/next/dist/lib/metadata/get-metadata-route.js +114 -0
  789. package/scope/node_modules/next/dist/lib/metadata/is-metadata-route.js +151 -0
  790. package/scope/node_modules/next/dist/lib/metadata/metadata-context.js +18 -0
  791. package/scope/node_modules/next/dist/lib/multi-file-writer.js +75 -0
  792. package/scope/node_modules/next/dist/lib/needs-experimental-react.js +16 -0
  793. package/scope/node_modules/next/dist/lib/non-nullable.js +15 -0
  794. package/scope/node_modules/next/dist/lib/normalize-path.js +21 -0
  795. package/scope/node_modules/next/dist/lib/oxford-comma-list.js +15 -0
  796. package/scope/node_modules/next/dist/lib/page-types.js +18 -0
  797. package/scope/node_modules/next/dist/lib/patch-incorrect-lockfile.js +185 -0
  798. package/scope/node_modules/next/dist/lib/pick.js +19 -0
  799. package/scope/node_modules/next/dist/lib/picocolors.js +177 -0
  800. package/scope/node_modules/next/dist/lib/pretty-bytes.js +74 -0
  801. package/scope/node_modules/next/dist/lib/realpath.js +20 -0
  802. package/scope/node_modules/next/dist/lib/recursive-delete.js +75 -0
  803. package/scope/node_modules/next/dist/lib/recursive-readdir.js +124 -0
  804. package/scope/node_modules/next/dist/lib/redirect-status.js +46 -0
  805. package/scope/node_modules/next/dist/lib/resolve-from.js +65 -0
  806. package/scope/node_modules/next/dist/lib/route-pattern-normalizer.js +104 -0
  807. package/scope/node_modules/next/dist/lib/scheduler.js +64 -0
  808. package/scope/node_modules/next/dist/lib/semver-noop.js +18 -0
  809. package/scope/node_modules/next/dist/lib/server-external-packages.json +74 -0
  810. package/scope/node_modules/next/dist/lib/static-env.js +88 -0
  811. package/scope/node_modules/next/dist/lib/try-to-parse-path.js +68 -0
  812. package/scope/node_modules/next/dist/lib/turbopack-warning.js +197 -0
  813. package/scope/node_modules/next/dist/lib/typescript/diagnosticFormatter.js +240 -0
  814. package/scope/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +73 -0
  815. package/scope/node_modules/next/dist/lib/typescript/getTypeScriptIntent.js +52 -0
  816. package/scope/node_modules/next/dist/lib/typescript/missingDependencyError.js +27 -0
  817. package/scope/node_modules/next/dist/lib/typescript/required-packages.js +40 -0
  818. package/scope/node_modules/next/dist/lib/typescript/runTypeCheck.js +95 -0
  819. package/scope/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js +64 -0
  820. package/scope/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +334 -0
  821. package/scope/node_modules/next/dist/lib/url.js +75 -0
  822. package/scope/node_modules/next/dist/lib/verify-partytown-setup.js +114 -0
  823. package/scope/node_modules/next/dist/lib/verify-typescript-setup.js +171 -0
  824. package/scope/node_modules/next/dist/lib/wait.js +19 -0
  825. package/scope/node_modules/next/dist/lib/with-promise-cache.js +24 -0
  826. package/scope/node_modules/next/dist/next-devtools/server/dev-indicator-middleware.js +42 -0
  827. package/scope/node_modules/next/dist/next-devtools/server/devtools-config-middleware.js +83 -0
  828. package/scope/node_modules/next/dist/next-devtools/server/font/get-dev-overlay-font-middleware.js +72 -0
  829. package/scope/node_modules/next/dist/next-devtools/server/get-next-error-feedback-middleware.js +42 -0
  830. package/scope/node_modules/next/dist/next-devtools/server/launch-editor.js +469 -0
  831. package/scope/node_modules/next/dist/next-devtools/server/middleware-response.js +50 -0
  832. package/scope/node_modules/next/dist/next-devtools/server/restart-dev-server-middleware.js +79 -0
  833. package/scope/node_modules/next/dist/next-devtools/server/shared.js +63 -0
  834. package/scope/node_modules/next/dist/next-devtools/shared/console-error.js +47 -0
  835. package/scope/node_modules/next/dist/next-devtools/shared/deepmerge.js +41 -0
  836. package/scope/node_modules/next/dist/next-devtools/shared/devtools-config-schema.js +45 -0
  837. package/scope/node_modules/next/dist/next-devtools/shared/forward-logs-shared.js +59 -0
  838. package/scope/node_modules/next/dist/next-devtools/shared/react-18-hydration-error.js +68 -0
  839. package/scope/node_modules/next/dist/next-devtools/shared/react-19-hydration-error.js +95 -0
  840. package/scope/node_modules/next/dist/next-devtools/shared/webpack-module-path.js +47 -0
  841. package/scope/node_modules/next/dist/next-devtools/userspace/app/app-dev-overlay-error-boundary.js +74 -0
  842. package/scope/node_modules/next/dist/next-devtools/userspace/app/errors/replay-ssr-only-errors.js +73 -0
  843. package/scope/node_modules/next/dist/next-devtools/userspace/app/errors/stitched-error.js +70 -0
  844. package/scope/node_modules/next/dist/next-devtools/userspace/app/errors/use-error-handler.js +143 -0
  845. package/scope/node_modules/next/dist/next-devtools/userspace/app/errors/use-forward-console-log.js +40 -0
  846. package/scope/node_modules/next/dist/next-devtools/userspace/app/forward-logs.js +417 -0
  847. package/scope/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js +160 -0
  848. package/scope/node_modules/next/dist/next-devtools/userspace/app/terminal-logging-config.js +41 -0
  849. package/scope/node_modules/next/dist/next-devtools/userspace/pages/hydration-error-state.js +164 -0
  850. package/scope/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-error-boundary.js +37 -0
  851. package/scope/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.js +122 -0
  852. package/scope/node_modules/next/dist/next-devtools/userspace/use-app-dev-rendering-indicator.js +34 -0
  853. package/scope/node_modules/next/dist/pages/_app.js +42 -0
  854. package/scope/node_modules/next/dist/pages/_document.js +834 -0
  855. package/scope/node_modules/next/dist/server/ReactDOMServerPages.js +16 -0
  856. package/scope/node_modules/next/dist/server/accept-header.js +132 -0
  857. package/scope/node_modules/next/dist/server/after/after-context.js +138 -0
  858. package/scope/node_modules/next/dist/server/after/awaiter.js +74 -0
  859. package/scope/node_modules/next/dist/server/after/builtin-request-context.js +38 -0
  860. package/scope/node_modules/next/dist/server/after/run-with-after.js +35 -0
  861. package/scope/node_modules/next/dist/server/api-utils/get-cookie-parser.js +22 -0
  862. package/scope/node_modules/next/dist/server/api-utils/index.js +201 -0
  863. package/scope/node_modules/next/dist/server/api-utils/node/try-get-preview-data.js +86 -0
  864. package/scope/node_modules/next/dist/server/app-render/action-async-storage-instance.js +14 -0
  865. package/scope/node_modules/next/dist/server/app-render/action-async-storage.external.js +13 -0
  866. package/scope/node_modules/next/dist/server/app-render/action-handler.js +900 -0
  867. package/scope/node_modules/next/dist/server/app-render/action-utils.js +90 -0
  868. package/scope/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +14 -0
  869. package/scope/node_modules/next/dist/server/app-render/after-task-async-storage.external.js +13 -0
  870. package/scope/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +228 -0
  871. package/scope/node_modules/next/dist/server/app-render/app-render-render-utils.js +37 -0
  872. package/scope/node_modules/next/dist/server/app-render/app-render.js +2954 -0
  873. package/scope/node_modules/next/dist/server/app-render/async-local-storage.js +75 -0
  874. package/scope/node_modules/next/dist/server/app-render/cache-signal.js +152 -0
  875. package/scope/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +38 -0
  876. package/scope/node_modules/next/dist/server/app-render/create-component-tree.js +806 -0
  877. package/scope/node_modules/next/dist/server/app-render/create-error-handler.js +220 -0
  878. package/scope/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +76 -0
  879. package/scope/node_modules/next/dist/server/app-render/csrf-protection.js +75 -0
  880. package/scope/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +14 -0
  881. package/scope/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +13 -0
  882. package/scope/node_modules/next/dist/server/app-render/dynamic-rendering.js +676 -0
  883. package/scope/node_modules/next/dist/server/app-render/encryption-utils-server.js +114 -0
  884. package/scope/node_modules/next/dist/server/app-render/encryption-utils.js +198 -0
  885. package/scope/node_modules/next/dist/server/app-render/flight-render-result.js +27 -0
  886. package/scope/node_modules/next/dist/server/app-render/get-asset-query-string.js +29 -0
  887. package/scope/node_modules/next/dist/server/app-render/get-css-inlined-link-tags.js +48 -0
  888. package/scope/node_modules/next/dist/server/app-render/get-layer-assets.js +70 -0
  889. package/scope/node_modules/next/dist/server/app-render/get-preloadable-fonts.js +39 -0
  890. package/scope/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +32 -0
  891. package/scope/node_modules/next/dist/server/app-render/get-segment-param.js +42 -0
  892. package/scope/node_modules/next/dist/server/app-render/get-short-dynamic-param-type.js +42 -0
  893. package/scope/node_modules/next/dist/server/app-render/has-loading-component-in-tree.js +19 -0
  894. package/scope/node_modules/next/dist/server/app-render/interop-default.js +17 -0
  895. package/scope/node_modules/next/dist/server/app-render/make-get-server-inserted-html.js +91 -0
  896. package/scope/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +29 -0
  897. package/scope/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js +32 -0
  898. package/scope/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +66 -0
  899. package/scope/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +49 -0
  900. package/scope/node_modules/next/dist/server/app-render/parse-loader-tree.js +29 -0
  901. package/scope/node_modules/next/dist/server/app-render/postponed-state.js +151 -0
  902. package/scope/node_modules/next/dist/server/app-render/prospective-render-utils.js +56 -0
  903. package/scope/node_modules/next/dist/server/app-render/react-large-shell-error.js +17 -0
  904. package/scope/node_modules/next/dist/server/app-render/react-server.node.js +39 -0
  905. package/scope/node_modules/next/dist/server/app-render/render-css-resource.js +53 -0
  906. package/scope/node_modules/next/dist/server/app-render/required-scripts.js +76 -0
  907. package/scope/node_modules/next/dist/server/app-render/segment-explorer-path.js +103 -0
  908. package/scope/node_modules/next/dist/server/app-render/server-inserted-html.js +41 -0
  909. package/scope/node_modules/next/dist/server/app-render/strip-flight-headers.js +18 -0
  910. package/scope/node_modules/next/dist/server/app-render/types.js +75 -0
  911. package/scope/node_modules/next/dist/server/app-render/use-flight-response.js +164 -0
  912. package/scope/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +194 -0
  913. package/scope/node_modules/next/dist/server/app-render/work-async-storage-instance.js +14 -0
  914. package/scope/node_modules/next/dist/server/app-render/work-async-storage.external.js +13 -0
  915. package/scope/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +14 -0
  916. package/scope/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +239 -0
  917. package/scope/node_modules/next/dist/server/async-storage/draft-mode-provider.js +62 -0
  918. package/scope/node_modules/next/dist/server/async-storage/request-store.js +144 -0
  919. package/scope/node_modules/next/dist/server/async-storage/work-store.js +93 -0
  920. package/scope/node_modules/next/dist/server/base-http/helpers.js +36 -0
  921. package/scope/node_modules/next/dist/server/base-http/index.js +54 -0
  922. package/scope/node_modules/next/dist/server/base-http/node.js +147 -0
  923. package/scope/node_modules/next/dist/server/base-server.js +1824 -0
  924. package/scope/node_modules/next/dist/server/body-streams.js +113 -0
  925. package/scope/node_modules/next/dist/server/cache-dir.js +26 -0
  926. package/scope/node_modules/next/dist/server/capsize-font-metrics.json +181516 -0
  927. package/scope/node_modules/next/dist/server/ci-info.js +41 -0
  928. package/scope/node_modules/next/dist/server/client-component-renderer-logger.js +70 -0
  929. package/scope/node_modules/next/dist/server/config-schema.js +660 -0
  930. package/scope/node_modules/next/dist/server/config-shared.js +235 -0
  931. package/scope/node_modules/next/dist/server/config-utils.js +187 -0
  932. package/scope/node_modules/next/dist/server/config.js +1397 -0
  933. package/scope/node_modules/next/dist/server/crypto-utils.js +70 -0
  934. package/scope/node_modules/next/dist/server/dev/browser-logs/receive-logs.js +462 -0
  935. package/scope/node_modules/next/dist/server/dev/browser-logs/source-map.js +225 -0
  936. package/scope/node_modules/next/dist/server/dev/dev-indicator-server-state.js +15 -0
  937. package/scope/node_modules/next/dist/server/dev/get-source-map-from-file.js +100 -0
  938. package/scope/node_modules/next/dist/server/dev/hot-middleware.js +225 -0
  939. package/scope/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +999 -0
  940. package/scope/node_modules/next/dist/server/dev/hot-reloader-types.js +32 -0
  941. package/scope/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1290 -0
  942. package/scope/node_modules/next/dist/server/dev/log-requests.js +113 -0
  943. package/scope/node_modules/next/dist/server/dev/messages.js +13 -0
  944. package/scope/node_modules/next/dist/server/dev/middleware-turbopack.js +393 -0
  945. package/scope/node_modules/next/dist/server/dev/middleware-webpack.js +473 -0
  946. package/scope/node_modules/next/dist/server/dev/next-dev-server.js +730 -0
  947. package/scope/node_modules/next/dist/server/dev/node-stack-frames.js +72 -0
  948. package/scope/node_modules/next/dist/server/dev/on-demand-entry-handler.js +690 -0
  949. package/scope/node_modules/next/dist/server/dev/parse-version-info.js +108 -0
  950. package/scope/node_modules/next/dist/server/dev/require-cache.js +49 -0
  951. package/scope/node_modules/next/dist/server/dev/static-paths-worker.js +90 -0
  952. package/scope/node_modules/next/dist/server/dev/turbopack-utils.js +696 -0
  953. package/scope/node_modules/next/dist/server/dynamic-rendering-utils.js +82 -0
  954. package/scope/node_modules/next/dist/server/font-utils.js +43 -0
  955. package/scope/node_modules/next/dist/server/get-app-route-from-entrypoint.js +30 -0
  956. package/scope/node_modules/next/dist/server/get-route-from-entrypoint.js +35 -0
  957. package/scope/node_modules/next/dist/server/image-optimizer.js +1129 -0
  958. package/scope/node_modules/next/dist/server/instrumentation/utils.js +21 -0
  959. package/scope/node_modules/next/dist/server/internal-utils.js +39 -0
  960. package/scope/node_modules/next/dist/server/lib/app-dir-module.js +59 -0
  961. package/scope/node_modules/next/dist/server/lib/app-info-log.js +129 -0
  962. package/scope/node_modules/next/dist/server/lib/async-callback-set.js +29 -0
  963. package/scope/node_modules/next/dist/server/lib/cache-control.js +22 -0
  964. package/scope/node_modules/next/dist/server/lib/cache-handlers/default.external.js +117 -0
  965. package/scope/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +116 -0
  966. package/scope/node_modules/next/dist/server/lib/clone-response.js +77 -0
  967. package/scope/node_modules/next/dist/server/lib/cpu-profile.js +28 -0
  968. package/scope/node_modules/next/dist/server/lib/decode-query-path-parameter.js +26 -0
  969. package/scope/node_modules/next/dist/server/lib/dedupe-fetch.js +156 -0
  970. package/scope/node_modules/next/dist/server/lib/dev-bundler-service.js +84 -0
  971. package/scope/node_modules/next/dist/server/lib/disk-lru-cache.external.js +57 -0
  972. package/scope/node_modules/next/dist/server/lib/etag.js +56 -0
  973. package/scope/node_modules/next/dist/server/lib/experimental/create-env-definitions.js +49 -0
  974. package/scope/node_modules/next/dist/server/lib/experimental/ppr.js +52 -0
  975. package/scope/node_modules/next/dist/server/lib/find-page-file.js +127 -0
  976. package/scope/node_modules/next/dist/server/lib/fix-mojibake.js +25 -0
  977. package/scope/node_modules/next/dist/server/lib/format-hostname.js +16 -0
  978. package/scope/node_modules/next/dist/server/lib/i18n-provider.js +129 -0
  979. package/scope/node_modules/next/dist/server/lib/implicit-tags.js +71 -0
  980. package/scope/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +315 -0
  981. package/scope/node_modules/next/dist/server/lib/incremental-cache/index.js +418 -0
  982. package/scope/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +40 -0
  983. package/scope/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +73 -0
  984. package/scope/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js +34 -0
  985. package/scope/node_modules/next/dist/server/lib/is-ipv6.js +41 -0
  986. package/scope/node_modules/next/dist/server/lib/is-rsc-request.js +18 -0
  987. package/scope/node_modules/next/dist/server/lib/lazy-result.js +46 -0
  988. package/scope/node_modules/next/dist/server/lib/lru-cache.js +191 -0
  989. package/scope/node_modules/next/dist/server/lib/match-next-data-pathname.js +18 -0
  990. package/scope/node_modules/next/dist/server/lib/mock-request.js +441 -0
  991. package/scope/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +25 -0
  992. package/scope/node_modules/next/dist/server/lib/node-fs-methods.js +28 -0
  993. package/scope/node_modules/next/dist/server/lib/parse-stack.js +46 -0
  994. package/scope/node_modules/next/dist/server/lib/patch-fetch.js +894 -0
  995. package/scope/node_modules/next/dist/server/lib/patch-set-header.js +38 -0
  996. package/scope/node_modules/next/dist/server/lib/render-server.js +125 -0
  997. package/scope/node_modules/next/dist/server/lib/router-server.js +651 -0
  998. package/scope/node_modules/next/dist/server/lib/router-utils/block-cross-site.js +76 -0
  999. package/scope/node_modules/next/dist/server/lib/router-utils/build-data-route.js +48 -0
  1000. package/scope/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +42 -0
  1001. package/scope/node_modules/next/dist/server/lib/router-utils/filesystem.js +572 -0
  1002. package/scope/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +89 -0
  1003. package/scope/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +96 -0
  1004. package/scope/node_modules/next/dist/server/lib/router-utils/is-postpone.js +16 -0
  1005. package/scope/node_modules/next/dist/server/lib/router-utils/proxy-request.js +118 -0
  1006. package/scope/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +616 -0
  1007. package/scope/node_modules/next/dist/server/lib/router-utils/route-types-utils.js +283 -0
  1008. package/scope/node_modules/next/dist/server/lib/router-utils/router-server-context.js +26 -0
  1009. package/scope/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js +895 -0
  1010. package/scope/node_modules/next/dist/server/lib/router-utils/typegen.js +612 -0
  1011. package/scope/node_modules/next/dist/server/lib/server-action-request-meta.js +53 -0
  1012. package/scope/node_modules/next/dist/server/lib/server-ipc/utils.js +83 -0
  1013. package/scope/node_modules/next/dist/server/lib/source-maps.js +198 -0
  1014. package/scope/node_modules/next/dist/server/lib/start-server.js +447 -0
  1015. package/scope/node_modules/next/dist/server/lib/streaming-metadata.js +38 -0
  1016. package/scope/node_modules/next/dist/server/lib/to-route.js +37 -0
  1017. package/scope/node_modules/next/dist/server/lib/trace/constants.js +202 -0
  1018. package/scope/node_modules/next/dist/server/lib/trace/tracer.js +265 -0
  1019. package/scope/node_modules/next/dist/server/lib/trace/utils.js +16 -0
  1020. package/scope/node_modules/next/dist/server/lib/utils.js +254 -0
  1021. package/scope/node_modules/next/dist/server/load-components.js +159 -0
  1022. package/scope/node_modules/next/dist/server/load-default-error-components.js +41 -0
  1023. package/scope/node_modules/next/dist/server/load-manifest.external.js +97 -0
  1024. package/scope/node_modules/next/dist/server/match-bundle.js +25 -0
  1025. package/scope/node_modules/next/dist/server/next-server.js +1471 -0
  1026. package/scope/node_modules/next/dist/server/next-typescript.js +13 -0
  1027. package/scope/node_modules/next/dist/server/next.js +419 -0
  1028. package/scope/node_modules/next/dist/server/node-environment-baseline.js +25 -0
  1029. package/scope/node_modules/next/dist/server/node-environment-extensions/console-dev.js +181 -0
  1030. package/scope/node_modules/next/dist/server/node-environment-extensions/date.js +52 -0
  1031. package/scope/node_modules/next/dist/server/node-environment-extensions/error-inspect.js +8 -0
  1032. package/scope/node_modules/next/dist/server/node-environment-extensions/node-crypto.js +103 -0
  1033. package/scope/node_modules/next/dist/server/node-environment-extensions/random.js +28 -0
  1034. package/scope/node_modules/next/dist/server/node-environment-extensions/utils.js +127 -0
  1035. package/scope/node_modules/next/dist/server/node-environment-extensions/web-crypto.js +45 -0
  1036. package/scope/node_modules/next/dist/server/node-environment.js +17 -0
  1037. package/scope/node_modules/next/dist/server/node-polyfill-crypto.js +21 -0
  1038. package/scope/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js +33 -0
  1039. package/scope/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +54 -0
  1040. package/scope/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js +22 -0
  1041. package/scope/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +40 -0
  1042. package/scope/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +55 -0
  1043. package/scope/node_modules/next/dist/server/normalizers/built/app/index.js +42 -0
  1044. package/scope/node_modules/next/dist/server/normalizers/built/pages/index.js +44 -0
  1045. package/scope/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +55 -0
  1046. package/scope/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +22 -0
  1047. package/scope/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +19 -0
  1048. package/scope/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +19 -0
  1049. package/scope/node_modules/next/dist/server/normalizers/locale-route-normalizer.js +26 -0
  1050. package/scope/node_modules/next/dist/server/normalizers/normalizers.js +23 -0
  1051. package/scope/node_modules/next/dist/server/normalizers/prefixing-normalizer.js +26 -0
  1052. package/scope/node_modules/next/dist/server/normalizers/request/base-path.js +25 -0
  1053. package/scope/node_modules/next/dist/server/normalizers/request/next-data.js +38 -0
  1054. package/scope/node_modules/next/dist/server/normalizers/request/prefetch-rsc.js +31 -0
  1055. package/scope/node_modules/next/dist/server/normalizers/request/prefix.js +39 -0
  1056. package/scope/node_modules/next/dist/server/normalizers/request/rsc.js +19 -0
  1057. package/scope/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js +32 -0
  1058. package/scope/node_modules/next/dist/server/normalizers/request/suffix.js +27 -0
  1059. package/scope/node_modules/next/dist/server/normalizers/underscore-normalizer.js +17 -0
  1060. package/scope/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js +17 -0
  1061. package/scope/node_modules/next/dist/server/optimize-amp.js +22 -0
  1062. package/scope/node_modules/next/dist/server/patch-error-inspect.js +419 -0
  1063. package/scope/node_modules/next/dist/server/pipe-readable.js +140 -0
  1064. package/scope/node_modules/next/dist/server/post-process.js +50 -0
  1065. package/scope/node_modules/next/dist/server/render-result.js +195 -0
  1066. package/scope/node_modules/next/dist/server/render.js +1169 -0
  1067. package/scope/node_modules/next/dist/server/request-meta.js +55 -0
  1068. package/scope/node_modules/next/dist/server/require-hook.js +71 -0
  1069. package/scope/node_modules/next/dist/server/require.js +103 -0
  1070. package/scope/node_modules/next/dist/server/response-cache/index.js +307 -0
  1071. package/scope/node_modules/next/dist/server/response-cache/types.js +41 -0
  1072. package/scope/node_modules/next/dist/server/response-cache/utils.js +103 -0
  1073. package/scope/node_modules/next/dist/server/resume-data-cache/cache-store.js +78 -0
  1074. package/scope/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +96 -0
  1075. package/scope/node_modules/next/dist/server/revalidation-utils.js +88 -0
  1076. package/scope/node_modules/next/dist/server/route-definitions/app-page-route-definition.js +16 -0
  1077. package/scope/node_modules/next/dist/server/route-kind.js +32 -0
  1078. package/scope/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +239 -0
  1079. package/scope/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +123 -0
  1080. package/scope/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +55 -0
  1081. package/scope/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +43 -0
  1082. package/scope/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +90 -0
  1083. package/scope/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +108 -0
  1084. package/scope/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +77 -0
  1085. package/scope/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +77 -0
  1086. package/scope/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +28 -0
  1087. package/scope/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +106 -0
  1088. package/scope/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +42 -0
  1089. package/scope/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +30 -0
  1090. package/scope/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +34 -0
  1091. package/scope/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +20 -0
  1092. package/scope/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +21 -0
  1093. package/scope/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +55 -0
  1094. package/scope/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +64 -0
  1095. package/scope/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +18 -0
  1096. package/scope/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +15 -0
  1097. package/scope/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +68 -0
  1098. package/scope/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +30 -0
  1099. package/scope/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +30 -0
  1100. package/scope/node_modules/next/dist/server/route-matchers/route-matcher.js +54 -0
  1101. package/scope/node_modules/next/dist/server/route-matches/pages-api-route-match.js +16 -0
  1102. package/scope/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +48 -0
  1103. package/scope/node_modules/next/dist/server/route-modules/app-page/module.compiled.js +36 -0
  1104. package/scope/node_modules/next/dist/server/route-modules/app-page/module.js +131 -0
  1105. package/scope/node_modules/next/dist/server/route-modules/app-page/module.render.js +24 -0
  1106. package/scope/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/amp-context.js +4 -0
  1107. package/scope/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +4 -0
  1108. package/scope/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +92 -0
  1109. package/scope/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +4 -0
  1110. package/scope/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +4 -0
  1111. package/scope/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +4 -0
  1112. package/scope/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +4 -0
  1113. package/scope/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +4 -0
  1114. package/scope/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +140 -0
  1115. package/scope/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +125 -0
  1116. package/scope/node_modules/next/dist/server/route-modules/checks.js +45 -0
  1117. package/scope/node_modules/next/dist/server/route-modules/pages/builtin/_error.js +100 -0
  1118. package/scope/node_modules/next/dist/server/route-modules/pages/module.compiled.js +20 -0
  1119. package/scope/node_modules/next/dist/server/route-modules/pages/module.js +92 -0
  1120. package/scope/node_modules/next/dist/server/route-modules/pages/module.render.js +24 -0
  1121. package/scope/node_modules/next/dist/server/route-modules/pages/pages-handler.js +520 -0
  1122. package/scope/node_modules/next/dist/server/route-modules/pages/vendored/contexts/amp-context.js +4 -0
  1123. package/scope/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +4 -0
  1124. package/scope/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +107 -0
  1125. package/scope/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +4 -0
  1126. package/scope/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +4 -0
  1127. package/scope/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +4 -0
  1128. package/scope/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +4 -0
  1129. package/scope/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +4 -0
  1130. package/scope/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +4 -0
  1131. package/scope/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +4 -0
  1132. package/scope/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +4 -0
  1133. package/scope/node_modules/next/dist/server/route-modules/route-module.js +518 -0
  1134. package/scope/node_modules/next/dist/server/send-payload.js +88 -0
  1135. package/scope/node_modules/next/dist/server/send-response.js +70 -0
  1136. package/scope/node_modules/next/dist/server/serve-static.js +66 -0
  1137. package/scope/node_modules/next/dist/server/server-route-utils.js +30 -0
  1138. package/scope/node_modules/next/dist/server/server-utils.js +351 -0
  1139. package/scope/node_modules/next/dist/server/setup-http-agent-env.js +31 -0
  1140. package/scope/node_modules/next/dist/server/stream-utils/encoded-tags.js +114 -0
  1141. package/scope/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +642 -0
  1142. package/scope/node_modules/next/dist/server/stream-utils/uint8array-helpers.js +69 -0
  1143. package/scope/node_modules/next/dist/server/typescript/constant.js +97 -0
  1144. package/scope/node_modules/next/dist/server/typescript/index.js +199 -0
  1145. package/scope/node_modules/next/dist/server/typescript/rules/client-boundary.js +97 -0
  1146. package/scope/node_modules/next/dist/server/typescript/rules/config.js +476 -0
  1147. package/scope/node_modules/next/dist/server/typescript/rules/entry.js +149 -0
  1148. package/scope/node_modules/next/dist/server/typescript/rules/error.js +38 -0
  1149. package/scope/node_modules/next/dist/server/typescript/rules/metadata.js +234 -0
  1150. package/scope/node_modules/next/dist/server/typescript/rules/server-boundary.js +115 -0
  1151. package/scope/node_modules/next/dist/server/typescript/rules/server.js +79 -0
  1152. package/scope/node_modules/next/dist/server/typescript/utils.js +212 -0
  1153. package/scope/node_modules/next/dist/server/use-cache/handlers.js +125 -0
  1154. package/scope/node_modules/next/dist/server/utils.js +87 -0
  1155. package/scope/node_modules/next/dist/server/web/adapter.js +384 -0
  1156. package/scope/node_modules/next/dist/server/web/error.js +54 -0
  1157. package/scope/node_modules/next/dist/server/web/get-edge-preview-props.js +23 -0
  1158. package/scope/node_modules/next/dist/server/web/globals.js +128 -0
  1159. package/scope/node_modules/next/dist/server/web/http.js +39 -0
  1160. package/scope/node_modules/next/dist/server/web/next-url.js +195 -0
  1161. package/scope/node_modules/next/dist/server/web/sandbox/context.js +457 -0
  1162. package/scope/node_modules/next/dist/server/web/sandbox/fetch-inline-assets.js +35 -0
  1163. package/scope/node_modules/next/dist/server/web/sandbox/index.js +28 -0
  1164. package/scope/node_modules/next/dist/server/web/sandbox/resource-managers.js +88 -0
  1165. package/scope/node_modules/next/dist/server/web/sandbox/sandbox.js +134 -0
  1166. package/scope/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +192 -0
  1167. package/scope/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +142 -0
  1168. package/scope/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +30 -0
  1169. package/scope/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +210 -0
  1170. package/scope/node_modules/next/dist/server/web/spec-extension/cookies.js +29 -0
  1171. package/scope/node_modules/next/dist/server/web/spec-extension/fetch-event.js +98 -0
  1172. package/scope/node_modules/next/dist/server/web/spec-extension/request.js +99 -0
  1173. package/scope/node_modules/next/dist/server/web/spec-extension/response.js +136 -0
  1174. package/scope/node_modules/next/dist/server/web/utils.js +151 -0
  1175. package/scope/node_modules/next/dist/server/web/web-on-close.js +87 -0
  1176. package/scope/node_modules/next/dist/shared/lib/amp-context.shared-runtime.js +18 -0
  1177. package/scope/node_modules/next/dist/shared/lib/amp-mode.js +16 -0
  1178. package/scope/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +50 -0
  1179. package/scope/node_modules/next/dist/shared/lib/bloom-filter.js +86 -0
  1180. package/scope/node_modules/next/dist/shared/lib/canary-only.js +40 -0
  1181. package/scope/node_modules/next/dist/shared/lib/constants.js +442 -0
  1182. package/scope/node_modules/next/dist/shared/lib/deep-freeze.js +30 -0
  1183. package/scope/node_modules/next/dist/shared/lib/dset.js +34 -0
  1184. package/scope/node_modules/next/dist/shared/lib/encode-uri-path.js +15 -0
  1185. package/scope/node_modules/next/dist/shared/lib/error-source.js +36 -0
  1186. package/scope/node_modules/next/dist/shared/lib/errors/constants.js +19 -0
  1187. package/scope/node_modules/next/dist/shared/lib/escape-regexp.js +22 -0
  1188. package/scope/node_modules/next/dist/shared/lib/format-webpack-messages.js +158 -0
  1189. package/scope/node_modules/next/dist/shared/lib/get-hostname.js +23 -0
  1190. package/scope/node_modules/next/dist/shared/lib/get-rspack.js +78 -0
  1191. package/scope/node_modules/next/dist/shared/lib/get-webpack-bundler.js +22 -0
  1192. package/scope/node_modules/next/dist/shared/lib/hash.js +42 -0
  1193. package/scope/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +18 -0
  1194. package/scope/node_modules/next/dist/shared/lib/head.js +172 -0
  1195. package/scope/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +38 -0
  1196. package/scope/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +40 -0
  1197. package/scope/node_modules/next/dist/shared/lib/htmlescape.js +52 -0
  1198. package/scope/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +26 -0
  1199. package/scope/node_modules/next/dist/shared/lib/i18n/get-locale-redirect.js +63 -0
  1200. package/scope/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +54 -0
  1201. package/scope/node_modules/next/dist/shared/lib/image-blur-svg.js +23 -0
  1202. package/scope/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +19 -0
  1203. package/scope/node_modules/next/dist/shared/lib/image-config.js +71 -0
  1204. package/scope/node_modules/next/dist/shared/lib/invariant-error.js +18 -0
  1205. package/scope/node_modules/next/dist/shared/lib/is-internal.js +39 -0
  1206. package/scope/node_modules/next/dist/shared/lib/is-plain-object.js +42 -0
  1207. package/scope/node_modules/next/dist/shared/lib/is-thenable.js +20 -0
  1208. package/scope/node_modules/next/dist/shared/lib/isomorphic/path.js +14 -0
  1209. package/scope/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +37 -0
  1210. package/scope/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.js +19 -0
  1211. package/scope/node_modules/next/dist/shared/lib/loadable.shared-runtime.js +248 -0
  1212. package/scope/node_modules/next/dist/shared/lib/magic-identifier.js +118 -0
  1213. package/scope/node_modules/next/dist/shared/lib/match-local-pattern.js +47 -0
  1214. package/scope/node_modules/next/dist/shared/lib/match-remote-pattern.js +64 -0
  1215. package/scope/node_modules/next/dist/shared/lib/mitt.js +49 -0
  1216. package/scope/node_modules/next/dist/shared/lib/modern-browserslist-target.js +18 -0
  1217. package/scope/node_modules/next/dist/shared/lib/no-fallback-error.external.js +18 -0
  1218. package/scope/node_modules/next/dist/shared/lib/normalized-asset-prefix.js +28 -0
  1219. package/scope/node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js +26 -0
  1220. package/scope/node_modules/next/dist/shared/lib/page-path/denormalize-app-path.js +19 -0
  1221. package/scope/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js +18 -0
  1222. package/scope/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +18 -0
  1223. package/scope/node_modules/next/dist/shared/lib/page-path/get-page-paths.js +40 -0
  1224. package/scope/node_modules/next/dist/shared/lib/page-path/normalize-data-path.js +23 -0
  1225. package/scope/node_modules/next/dist/shared/lib/page-path/normalize-page-path.js +26 -0
  1226. package/scope/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js +19 -0
  1227. package/scope/node_modules/next/dist/shared/lib/page-path/remove-page-path-tail.js +20 -0
  1228. package/scope/node_modules/next/dist/shared/lib/promise-with-resolvers.js +26 -0
  1229. package/scope/node_modules/next/dist/shared/lib/router/adapters.js +139 -0
  1230. package/scope/node_modules/next/dist/shared/lib/router/router.js +1796 -0
  1231. package/scope/node_modules/next/dist/shared/lib/router/utils/add-locale.js +28 -0
  1232. package/scope/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +20 -0
  1233. package/scope/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js +20 -0
  1234. package/scope/node_modules/next/dist/shared/lib/router/utils/app-paths.js +51 -0
  1235. package/scope/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js +17 -0
  1236. package/scope/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +70 -0
  1237. package/scope/node_modules/next/dist/shared/lib/router/utils/compare-states.js +34 -0
  1238. package/scope/node_modules/next/dist/shared/lib/router/utils/disable-smooth-scroll.js +51 -0
  1239. package/scope/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +16 -0
  1240. package/scope/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js +27 -0
  1241. package/scope/node_modules/next/dist/shared/lib/router/utils/format-url.js +111 -0
  1242. package/scope/node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js +19 -0
  1243. package/scope/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +119 -0
  1244. package/scope/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js +54 -0
  1245. package/scope/node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +26 -0
  1246. package/scope/node_modules/next/dist/shared/lib/router/utils/html-bots.js +17 -0
  1247. package/scope/node_modules/next/dist/shared/lib/router/utils/index.js +30 -0
  1248. package/scope/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +106 -0
  1249. package/scope/node_modules/next/dist/shared/lib/router/utils/interpolate-as.js +53 -0
  1250. package/scope/node_modules/next/dist/shared/lib/router/utils/is-bot.js +57 -0
  1251. package/scope/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +27 -0
  1252. package/scope/node_modules/next/dist/shared/lib/router/utils/is-local-url.js +26 -0
  1253. package/scope/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js +31 -0
  1254. package/scope/node_modules/next/dist/shared/lib/router/utils/omit.js +21 -0
  1255. package/scope/node_modules/next/dist/shared/lib/router/utils/parse-path.js +33 -0
  1256. package/scope/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +37 -0
  1257. package/scope/node_modules/next/dist/shared/lib/router/utils/parse-url.js +31 -0
  1258. package/scope/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +20 -0
  1259. package/scope/node_modules/next/dist/shared/lib/router/utils/path-match.js +49 -0
  1260. package/scope/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +289 -0
  1261. package/scope/node_modules/next/dist/shared/lib/router/utils/querystring.js +82 -0
  1262. package/scope/node_modules/next/dist/shared/lib/router/utils/relativize-url.js +40 -0
  1263. package/scope/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js +39 -0
  1264. package/scope/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +21 -0
  1265. package/scope/node_modules/next/dist/shared/lib/router/utils/resolve-rewrites.js +118 -0
  1266. package/scope/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +100 -0
  1267. package/scope/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +46 -0
  1268. package/scope/node_modules/next/dist/shared/lib/router/utils/route-regex.js +224 -0
  1269. package/scope/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +245 -0
  1270. package/scope/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +18 -0
  1271. package/scope/node_modules/next/dist/shared/lib/runtime-config.external.js +33 -0
  1272. package/scope/node_modules/next/dist/shared/lib/segment-cache/output-export-prefetch-encoding.js +73 -0
  1273. package/scope/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +119 -0
  1274. package/scope/node_modules/next/dist/shared/lib/segment.js +53 -0
  1275. package/scope/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +35 -0
  1276. package/scope/node_modules/next/dist/shared/lib/server-reference-info.js +52 -0
  1277. package/scope/node_modules/next/dist/shared/lib/side-effect.js +66 -0
  1278. package/scope/node_modules/next/dist/shared/lib/turbopack/compilation-events.js +47 -0
  1279. package/scope/node_modules/next/dist/shared/lib/turbopack/entry-key.js +39 -0
  1280. package/scope/node_modules/next/dist/shared/lib/turbopack/internal-error.js +53 -0
  1281. package/scope/node_modules/next/dist/shared/lib/turbopack/manifest-loader.js +476 -0
  1282. package/scope/node_modules/next/dist/shared/lib/turbopack/utils.js +286 -0
  1283. package/scope/node_modules/next/dist/shared/lib/utils/warn-once.js +22 -0
  1284. package/scope/node_modules/next/dist/shared/lib/utils.js +211 -0
  1285. package/scope/node_modules/next/dist/shared/lib/zod.js +101 -0
  1286. package/scope/node_modules/next/dist/telemetry/anonymous-meta.js +89 -0
  1287. package/scope/node_modules/next/dist/telemetry/detached-flush.js +53 -0
  1288. package/scope/node_modules/next/dist/telemetry/events/build.js +145 -0
  1289. package/scope/node_modules/next/dist/telemetry/events/error-feedback.js +31 -0
  1290. package/scope/node_modules/next/dist/telemetry/events/index.js +23 -0
  1291. package/scope/node_modules/next/dist/telemetry/events/plugins.js +51 -0
  1292. package/scope/node_modules/next/dist/telemetry/events/swc-load-failure.js +55 -0
  1293. package/scope/node_modules/next/dist/telemetry/events/version.js +90 -0
  1294. package/scope/node_modules/next/dist/telemetry/flush-and-exit.js +20 -0
  1295. package/scope/node_modules/next/dist/telemetry/post-telemetry-payload.js +48 -0
  1296. package/scope/node_modules/next/dist/telemetry/project-id.js +48 -0
  1297. package/scope/node_modules/next/dist/telemetry/storage.js +288 -0
  1298. package/scope/node_modules/next/dist/trace/index.js +54 -0
  1299. package/scope/node_modules/next/dist/trace/report/index.js +35 -0
  1300. package/scope/node_modules/next/dist/trace/report/to-json.js +157 -0
  1301. package/scope/node_modules/next/dist/trace/report/to-telemetry.js +36 -0
  1302. package/scope/node_modules/next/dist/trace/shared.js +39 -0
  1303. package/scope/node_modules/next/dist/trace/trace.js +197 -0
  1304. package/scope/node_modules/next/font/google/target.css +1 -0
  1305. package/scope/node_modules/next/node_modules/postcss/lib/at-rule.js +25 -0
  1306. package/scope/node_modules/next/node_modules/postcss/lib/comment.js +13 -0
  1307. package/scope/node_modules/next/node_modules/postcss/lib/container.js +439 -0
  1308. package/scope/node_modules/next/node_modules/postcss/lib/css-syntax-error.js +100 -0
  1309. package/scope/node_modules/next/node_modules/postcss/lib/declaration.js +24 -0
  1310. package/scope/node_modules/next/node_modules/postcss/lib/document.js +33 -0
  1311. package/scope/node_modules/next/node_modules/postcss/lib/fromJSON.js +54 -0
  1312. package/scope/node_modules/next/node_modules/postcss/lib/input.js +248 -0
  1313. package/scope/node_modules/next/node_modules/postcss/lib/lazy-result.js +550 -0
  1314. package/scope/node_modules/next/node_modules/postcss/lib/list.js +58 -0
  1315. package/scope/node_modules/next/node_modules/postcss/lib/map-generator.js +359 -0
  1316. package/scope/node_modules/next/node_modules/postcss/lib/no-work-result.js +135 -0
  1317. package/scope/node_modules/next/node_modules/postcss/lib/node.js +381 -0
  1318. package/scope/node_modules/next/node_modules/postcss/lib/parse.js +42 -0
  1319. package/scope/node_modules/next/node_modules/postcss/lib/parser.js +610 -0
  1320. package/scope/node_modules/next/node_modules/postcss/lib/postcss.js +101 -0
  1321. package/scope/node_modules/next/node_modules/postcss/lib/previous-map.js +142 -0
  1322. package/scope/node_modules/next/node_modules/postcss/lib/processor.js +67 -0
  1323. package/scope/node_modules/next/node_modules/postcss/lib/result.js +42 -0
  1324. package/scope/node_modules/next/node_modules/postcss/lib/root.js +61 -0
  1325. package/scope/node_modules/next/node_modules/postcss/lib/rule.js +27 -0
  1326. package/scope/node_modules/next/node_modules/postcss/lib/stringifier.js +353 -0
  1327. package/scope/node_modules/next/node_modules/postcss/lib/stringify.js +11 -0
  1328. package/scope/node_modules/next/node_modules/postcss/lib/symbols.js +5 -0
  1329. package/scope/node_modules/next/node_modules/postcss/lib/terminal-highlight.js +70 -0
  1330. package/scope/node_modules/next/node_modules/postcss/lib/tokenize.js +266 -0
  1331. package/scope/node_modules/next/node_modules/postcss/lib/warn-once.js +13 -0
  1332. package/scope/node_modules/next/node_modules/postcss/lib/warning.js +37 -0
  1333. package/scope/node_modules/next/node_modules/postcss/package.json +88 -0
  1334. package/scope/node_modules/next/package.json +382 -0
  1335. package/scope/node_modules/picocolors/package.json +25 -0
  1336. package/scope/node_modules/picocolors/picocolors.js +75 -0
  1337. package/scope/node_modules/react/cjs/react-compiler-runtime.production.js +16 -0
  1338. package/scope/node_modules/react/cjs/react-jsx-dev-runtime.production.js +14 -0
  1339. package/scope/node_modules/react/cjs/react-jsx-runtime.development.js +352 -0
  1340. package/scope/node_modules/react/cjs/react-jsx-runtime.production.js +34 -0
  1341. package/scope/node_modules/react/cjs/react.development.js +1284 -0
  1342. package/scope/node_modules/react/cjs/react.production.js +542 -0
  1343. package/scope/node_modules/react/compiler-runtime.js +14 -0
  1344. package/scope/node_modules/react/index.js +7 -0
  1345. package/scope/node_modules/react/jsx-dev-runtime.js +7 -0
  1346. package/scope/node_modules/react/jsx-runtime.js +7 -0
  1347. package/scope/node_modules/react/package.json +51 -0
  1348. package/scope/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js +9877 -0
  1349. package/scope/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +6603 -0
  1350. package/scope/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +6692 -0
  1351. package/scope/node_modules/react-dom/cjs/react-dom-server.browser.development.js +10601 -0
  1352. package/scope/node_modules/react-dom/cjs/react-dom-server.browser.production.js +7410 -0
  1353. package/scope/node_modules/react-dom/cjs/react-dom-server.edge.development.js +10620 -0
  1354. package/scope/node_modules/react-dom/cjs/react-dom-server.edge.production.js +7512 -0
  1355. package/scope/node_modules/react-dom/cjs/react-dom-server.node.production.js +7707 -0
  1356. package/scope/node_modules/react-dom/cjs/react-dom.development.js +424 -0
  1357. package/scope/node_modules/react-dom/cjs/react-dom.production.js +210 -0
  1358. package/scope/node_modules/react-dom/index.js +38 -0
  1359. package/scope/node_modules/react-dom/package.json +117 -0
  1360. package/scope/node_modules/react-dom/server.browser.js +16 -0
  1361. package/scope/node_modules/react-dom/server.edge.js +17 -0
  1362. package/scope/node_modules/react-dom/server.js +3 -0
  1363. package/scope/node_modules/react-dom/server.node.js +18 -0
  1364. package/scope/node_modules/react-dom/static.js +3 -0
  1365. package/scope/node_modules/react-dom/static.node.js +14 -0
  1366. package/scope/node_modules/source-map-js/lib/array-set.js +121 -0
  1367. package/scope/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  1368. package/scope/node_modules/source-map-js/lib/base64.js +67 -0
  1369. package/scope/node_modules/source-map-js/lib/binary-search.js +111 -0
  1370. package/scope/node_modules/source-map-js/lib/mapping-list.js +79 -0
  1371. package/scope/node_modules/source-map-js/lib/quick-sort.js +132 -0
  1372. package/scope/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  1373. package/scope/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  1374. package/scope/node_modules/source-map-js/lib/source-node.js +413 -0
  1375. package/scope/node_modules/source-map-js/lib/util.js +594 -0
  1376. package/scope/node_modules/source-map-js/package.json +71 -0
  1377. package/scope/node_modules/source-map-js/source-map.js +8 -0
  1378. package/scope/node_modules/styled-jsx/dist/index/index.js +499 -0
  1379. package/scope/node_modules/styled-jsx/index.js +1 -0
  1380. package/scope/node_modules/styled-jsx/package.json +132 -0
  1381. package/scope/node_modules/styled-jsx/style.js +1 -0
  1382. package/scope/package.json +36 -0
  1383. package/scope/server.js +44 -0
@@ -0,0 +1,2954 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "renderToHTMLOrFlight", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return renderToHTMLOrFlight;
9
+ }
10
+ });
11
+ const _jsxruntime = require("react/jsx-runtime");
12
+ const _workasyncstorageexternal = require("../app-render/work-async-storage.external");
13
+ const _react = /*#__PURE__*/ _interop_require_default(require("react"));
14
+ const _renderresult = /*#__PURE__*/ _interop_require_default(require("../render-result"));
15
+ const _nodewebstreamshelper = require("../stream-utils/node-web-streams-helper");
16
+ const _internalutils = require("../internal-utils");
17
+ const _approuterheaders = require("../../client/components/app-router-headers");
18
+ const _metadatacontext = require("../../lib/metadata/metadata-context");
19
+ const _requeststore = require("../async-storage/request-store");
20
+ const _isrscrequest = require("../lib/is-rsc-request");
21
+ const _workstore = require("../async-storage/work-store");
22
+ const _httpaccessfallback = require("../../client/components/http-access-fallback/http-access-fallback");
23
+ const _redirect = require("../../client/components/redirect");
24
+ const _redirecterror = require("../../client/components/redirect-error");
25
+ const _implicittags = require("../lib/implicit-tags");
26
+ const _constants = require("../lib/trace/constants");
27
+ const _tracer = require("../lib/trace/tracer");
28
+ const _flightrenderresult = require("./flight-render-result");
29
+ const _createerrorhandler = require("./create-error-handler");
30
+ const _getshortdynamicparamtype = require("./get-short-dynamic-param-type");
31
+ const _getsegmentparam = require("./get-segment-param");
32
+ const _getscriptnoncefromheader = require("./get-script-nonce-from-header");
33
+ const _parseandvalidateflightrouterstate = require("./parse-and-validate-flight-router-state");
34
+ const _createflightrouterstatefromloadertree = require("./create-flight-router-state-from-loader-tree");
35
+ const _actionhandler = require("./action-handler");
36
+ const _bailouttocsr = require("../../shared/lib/lazy-dynamic/bailout-to-csr");
37
+ const _log = require("../../build/output/log");
38
+ const _requestcookies = require("../web/spec-extension/adapters/request-cookies");
39
+ const _serverinsertedhtml = require("./server-inserted-html");
40
+ const _requiredscripts = require("./required-scripts");
41
+ const _addpathprefix = require("../../shared/lib/router/utils/add-path-prefix");
42
+ const _makegetserverinsertedhtml = require("./make-get-server-inserted-html");
43
+ const _walktreewithflightrouterstate = require("./walk-tree-with-flight-router-state");
44
+ const _createcomponenttree = require("./create-component-tree");
45
+ const _getassetquerystring = require("./get-asset-query-string");
46
+ const _encryptionutils = require("./encryption-utils");
47
+ const _postponedstate = require("./postponed-state");
48
+ const _hooksservercontext = require("../../client/components/hooks-server-context");
49
+ const _useflightresponse = require("./use-flight-response");
50
+ const _staticgenerationbailout = require("../../client/components/static-generation-bailout");
51
+ const _formatservererror = require("../../lib/format-server-error");
52
+ const _dynamicrendering = require("./dynamic-rendering");
53
+ const _clientcomponentrendererlogger = require("../client-component-renderer-logger");
54
+ const _actionutils = require("./action-utils");
55
+ const _helpers = require("../base-http/helpers");
56
+ const _parserelativeurl = require("../../shared/lib/router/utils/parse-relative-url");
57
+ const _approuter = /*#__PURE__*/ _interop_require_default(require("../../client/components/app-router"));
58
+ const _serveractionrequestmeta = require("../lib/server-action-request-meta");
59
+ const _createinitialrouterstate = require("../../client/components/router-reducer/create-initial-router-state");
60
+ const _approuterinstance = require("../../client/components/app-router-instance");
61
+ const _utils = require("../instrumentation/utils");
62
+ const _segment = require("../../shared/lib/segment");
63
+ const _apprenderprerenderutils = require("./app-render-prerender-utils");
64
+ const _prospectiverenderutils = require("./prospective-render-utils");
65
+ const _apprenderrenderutils = require("./app-render-render-utils");
66
+ const _scheduler = require("../../lib/scheduler");
67
+ const _workunitasyncstorageexternal = require("./work-unit-async-storage.external");
68
+ const _cachesignal = require("./cache-signal");
69
+ const _utils1 = require("../lib/trace/utils");
70
+ const _invarianterror = require("../../shared/lib/invariant-error");
71
+ const _constants1 = require("../../lib/constants");
72
+ const _createcomponentstylesandscripts = require("./create-component-styles-and-scripts");
73
+ const _parseloadertree = require("./parse-loader-tree");
74
+ const _resumedatacache = require("../resume-data-cache/resume-data-cache");
75
+ const _iserror = /*#__PURE__*/ _interop_require_default(require("../../lib/is-error"));
76
+ const _createserverinsertedmetadata = require("./metadata-insertion/create-server-inserted-metadata");
77
+ const _serverutils = require("../server-utils");
78
+ const _revalidationutils = require("../revalidation-utils");
79
+ const _trackmoduleloadingexternal = require("./module-loading/track-module-loading.external");
80
+ const _reactlargeshellerror = require("./react-large-shell-error");
81
+ const _segmentexplorerpath = require("./segment-explorer-path");
82
+ const _requestmeta = require("../request-meta");
83
+ const _getdynamicparam = require("../../shared/lib/router/utils/get-dynamic-param");
84
+ const _promisewithresolvers = require("../../shared/lib/promise-with-resolvers");
85
+ function _interop_require_default(obj) {
86
+ return obj && obj.__esModule ? obj : {
87
+ default: obj
88
+ };
89
+ }
90
+ const flightDataPathHeadKey = 'h';
91
+ const getFlightViewportKey = (requestId)=>requestId + 'v';
92
+ const getFlightMetadataKey = (requestId)=>requestId + 'm';
93
+ const filterStackFrame = process.env.NODE_ENV !== 'production' ? require('../lib/source-maps').filterStackFrameDEV : undefined;
94
+ function parseRequestHeaders(headers, options) {
95
+ const isDevWarmupRequest = options.isDevWarmup === true;
96
+ // dev warmup requests are treated as prefetch RSC requests
97
+ // runtime prefetch requests are *not* treated as prefetch requests
98
+ // (TODO: this is confusing, we should refactor this to express this better)
99
+ const isPrefetchRequest = isDevWarmupRequest || headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] === '1';
100
+ const isRuntimePrefetchRequest = headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] === '2';
101
+ const isHmrRefresh = headers[_approuterheaders.NEXT_HMR_REFRESH_HEADER] !== undefined;
102
+ // dev warmup requests are treated as prefetch RSC requests
103
+ const isRSCRequest = isDevWarmupRequest || (0, _isrscrequest.isRSCRequestHeader)(headers[_approuterheaders.RSC_HEADER]);
104
+ const shouldProvideFlightRouterState = isRSCRequest && (!isPrefetchRequest || !options.isRoutePPREnabled);
105
+ const flightRouterState = shouldProvideFlightRouterState ? (0, _parseandvalidateflightrouterstate.parseAndValidateFlightRouterState)(headers[_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER]) : undefined;
106
+ // Checks if this is a prefetch of the Route Tree by the Segment Cache
107
+ const isRouteTreePrefetchRequest = headers[_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER] === '/_tree';
108
+ const csp = headers['content-security-policy'] || headers['content-security-policy-report-only'];
109
+ const nonce = typeof csp === 'string' ? (0, _getscriptnoncefromheader.getScriptNonceFromHeader)(csp) : undefined;
110
+ const previouslyRevalidatedTags = (0, _serverutils.getPreviouslyRevalidatedTags)(headers, options.previewModeId);
111
+ return {
112
+ flightRouterState,
113
+ isPrefetchRequest,
114
+ isRuntimePrefetchRequest,
115
+ isRouteTreePrefetchRequest,
116
+ isHmrRefresh,
117
+ isRSCRequest,
118
+ isDevWarmupRequest,
119
+ nonce,
120
+ previouslyRevalidatedTags
121
+ };
122
+ }
123
+ function createNotFoundLoaderTree(loaderTree) {
124
+ const components = loaderTree[2];
125
+ const hasGlobalNotFound = !!components['global-not-found'];
126
+ return [
127
+ '',
128
+ {
129
+ children: [
130
+ _segment.PAGE_SEGMENT_KEY,
131
+ {},
132
+ {
133
+ page: components['global-not-found'] ?? components['not-found']
134
+ }
135
+ ]
136
+ },
137
+ // When global-not-found is present, skip layout from components
138
+ hasGlobalNotFound ? components : {}
139
+ ];
140
+ }
141
+ /**
142
+ * Returns a function that parses the dynamic segment and return the associated value.
143
+ */ function makeGetDynamicParamFromSegment(params, pagePath, fallbackRouteParams) {
144
+ return function getDynamicParamFromSegment(// [slug] / [[slug]] / [...slug]
145
+ segment) {
146
+ const segmentParam = (0, _getsegmentparam.getSegmentParam)(segment);
147
+ if (!segmentParam) {
148
+ return null;
149
+ }
150
+ const segmentKey = segmentParam.param;
151
+ const dynamicParamType = _getshortdynamicparamtype.dynamicParamTypes[segmentParam.type];
152
+ return (0, _getdynamicparam.getDynamicParam)(params, segmentKey, dynamicParamType, pagePath, fallbackRouteParams);
153
+ };
154
+ }
155
+ function NonIndex({ pagePath, statusCode, isPossibleServerAction }) {
156
+ const is404Page = pagePath === '/404';
157
+ const isInvalidStatusCode = typeof statusCode === 'number' && statusCode > 400;
158
+ // Only render noindex for page request, skip for server actions
159
+ // TODO: is this correct if `isPossibleServerAction` is a false positive?
160
+ if (!isPossibleServerAction && (is404Page || isInvalidStatusCode)) {
161
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", {
162
+ name: "robots",
163
+ content: "noindex"
164
+ });
165
+ }
166
+ return null;
167
+ }
168
+ /**
169
+ * This is used by server actions & client-side navigations to generate RSC data from a client-side request.
170
+ * This function is only called on "dynamic" requests (ie, there wasn't already a static response).
171
+ * It uses request headers (namely `next-router-state-tree`) to determine where to start rendering.
172
+ */ async function generateDynamicRSCPayload(ctx, options) {
173
+ // Flight data that is going to be passed to the browser.
174
+ // Currently a single item array but in the future multiple patches might be combined in a single request.
175
+ // We initialize `flightData` to an empty string because the client router knows how to tolerate
176
+ // it (treating it as an MPA navigation). The only time this function wouldn't generate flight data
177
+ // is for server actions, if the server action handler instructs this function to skip it. When the server
178
+ // action reducer sees a falsy value, it'll simply resolve the action with no data.
179
+ let flightData = '';
180
+ const { componentMod: { tree: loaderTree, createMetadataComponents, MetadataBoundary, ViewportBoundary }, getDynamicParamFromSegment, appUsingSizeAdjustment, query, requestId, flightRouterState, workStore, url } = ctx;
181
+ const serveStreamingMetadata = !!ctx.renderOpts.serveStreamingMetadata;
182
+ if (!(options == null ? void 0 : options.skipFlight)) {
183
+ const preloadCallbacks = [];
184
+ const { ViewportTree, MetadataTree, getViewportReady, getMetadataReady, StreamingMetadataOutlet } = createMetadataComponents({
185
+ tree: loaderTree,
186
+ parsedQuery: query,
187
+ pathname: url.pathname,
188
+ metadataContext: (0, _metadatacontext.createMetadataContext)(ctx.renderOpts),
189
+ getDynamicParamFromSegment,
190
+ appUsingSizeAdjustment,
191
+ workStore,
192
+ MetadataBoundary,
193
+ ViewportBoundary,
194
+ serveStreamingMetadata
195
+ });
196
+ flightData = (await (0, _walktreewithflightrouterstate.walkTreeWithFlightRouterState)({
197
+ ctx,
198
+ loaderTreeToFilter: loaderTree,
199
+ parentParams: {},
200
+ flightRouterState,
201
+ // For flight, render metadata inside leaf page
202
+ rscHead: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.default.Fragment, {
203
+ children: [
204
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(NonIndex, {
205
+ pagePath: ctx.pagePath,
206
+ statusCode: ctx.res.statusCode,
207
+ isPossibleServerAction: ctx.isPossibleServerAction
208
+ }),
209
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(ViewportTree, {}, getFlightViewportKey(requestId)),
210
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(MetadataTree, {}, getFlightMetadataKey(requestId))
211
+ ]
212
+ }, flightDataPathHeadKey),
213
+ injectedCSS: new Set(),
214
+ injectedJS: new Set(),
215
+ injectedFontPreloadTags: new Set(),
216
+ rootLayoutIncluded: false,
217
+ getViewportReady,
218
+ getMetadataReady,
219
+ preloadCallbacks,
220
+ StreamingMetadataOutlet
221
+ })).map((path)=>path.slice(1)) // remove the '' (root) segment
222
+ ;
223
+ }
224
+ // If we have an action result, then this is a server action response.
225
+ // We can rely on this because `ActionResult` will always be a promise, even if
226
+ // the result is falsey.
227
+ if (options == null ? void 0 : options.actionResult) {
228
+ return {
229
+ a: options.actionResult,
230
+ f: flightData,
231
+ b: ctx.sharedContext.buildId
232
+ };
233
+ }
234
+ // Otherwise, it's a regular RSC response.
235
+ return {
236
+ b: ctx.sharedContext.buildId,
237
+ f: flightData,
238
+ S: workStore.isStaticGeneration
239
+ };
240
+ }
241
+ function createErrorContext(ctx, renderSource) {
242
+ return {
243
+ routerKind: 'App Router',
244
+ routePath: ctx.pagePath,
245
+ // TODO: is this correct if `isPossibleServerAction` is a false positive?
246
+ routeType: ctx.isPossibleServerAction ? 'action' : 'render',
247
+ renderSource,
248
+ revalidateReason: (0, _utils.getRevalidateReason)(ctx.workStore)
249
+ };
250
+ }
251
+ /**
252
+ * Produces a RenderResult containing the Flight data for the given request. See
253
+ * `generateDynamicRSCPayload` for information on the contents of the render result.
254
+ */ async function generateDynamicFlightRenderResult(req, ctx, requestStore, options) {
255
+ const renderOpts = ctx.renderOpts;
256
+ function onFlightDataRenderError(err) {
257
+ return renderOpts.onInstrumentationRequestError == null ? void 0 : renderOpts.onInstrumentationRequestError.call(renderOpts, err, req, createErrorContext(ctx, 'react-server-components-payload'));
258
+ }
259
+ const onError = (0, _createerrorhandler.createFlightReactServerErrorHandler)(!!renderOpts.dev, onFlightDataRenderError);
260
+ const RSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, generateDynamicRSCPayload, ctx, options);
261
+ // For app dir, use the bundled version of Flight server renderer (renderToReadableStream)
262
+ // which contains the subset React.
263
+ const flightReadableStream = _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, ctx.componentMod.renderToReadableStream, RSCPayload, ctx.clientReferenceManifest.clientModules, {
264
+ onError,
265
+ temporaryReferences: options == null ? void 0 : options.temporaryReferences,
266
+ filterStackFrame
267
+ });
268
+ return new _flightrenderresult.FlightRenderResult(flightReadableStream, {
269
+ fetchMetrics: ctx.workStore.fetchMetrics
270
+ });
271
+ }
272
+ async function generateRuntimePrefetchResult(req, res, ctx, requestStore) {
273
+ const { workStore } = ctx;
274
+ const renderOpts = ctx.renderOpts;
275
+ function onFlightDataRenderError(err) {
276
+ return renderOpts.onInstrumentationRequestError == null ? void 0 : renderOpts.onInstrumentationRequestError.call(renderOpts, err, req, // TODO(runtime-ppr): should we use a different value?
277
+ createErrorContext(ctx, 'react-server-components-payload'));
278
+ }
279
+ const onError = (0, _createerrorhandler.createFlightReactServerErrorHandler)(false, onFlightDataRenderError);
280
+ const metadata = {};
281
+ const generatePayload = ()=>generateDynamicRSCPayload(ctx, undefined);
282
+ const { componentMod: { tree }, getDynamicParamFromSegment } = ctx;
283
+ const rootParams = (0, _createcomponenttree.getRootParams)(tree, getDynamicParamFromSegment);
284
+ // We need to share caches between the prospective prerender and the final prerender,
285
+ // but we're not going to persist this anywhere.
286
+ const prerenderResumeDataCache = (0, _resumedatacache.createPrerenderResumeDataCache)();
287
+ // We're not resuming an existing render.
288
+ const renderResumeDataCache = null;
289
+ await prospectiveRuntimeServerPrerender(ctx, generatePayload, prerenderResumeDataCache, renderResumeDataCache, rootParams, requestStore.cookies, requestStore.draftMode);
290
+ const response = await finalRuntimeServerPrerender(ctx, generatePayload, prerenderResumeDataCache, renderResumeDataCache, rootParams, requestStore.cookies, requestStore.draftMode, onError);
291
+ applyMetadataFromPrerenderResult(response, metadata, workStore);
292
+ metadata.fetchMetrics = ctx.workStore.fetchMetrics;
293
+ if (response.isPartial) {
294
+ res.setHeader(_approuterheaders.NEXT_DID_POSTPONE_HEADER, '1');
295
+ }
296
+ return new _flightrenderresult.FlightRenderResult(response.result.prelude, metadata);
297
+ }
298
+ async function prospectiveRuntimeServerPrerender(ctx, getPayload, prerenderResumeDataCache, renderResumeDataCache, rootParams, cookies, draftMode) {
299
+ const { implicitTags, renderOpts, workStore } = ctx;
300
+ const { clientReferenceManifest, ComponentMod } = renderOpts;
301
+ assertClientReferenceManifest(clientReferenceManifest);
302
+ // Prerender controller represents the lifetime of the prerender.
303
+ // It will be aborted when a Task is complete or a synchronously aborting
304
+ // API is called. Notably during cache-filling renders this does not actually
305
+ // terminate the render itself which will continue until all caches are filled
306
+ const initialServerPrerenderController = new AbortController();
307
+ // This controller represents the lifetime of the React render call. Notably
308
+ // during the cache-filling render it is different from the prerender controller
309
+ // because we don't want to end the react render until all caches are filled.
310
+ const initialServerRenderController = new AbortController();
311
+ // The cacheSignal helps us track whether caches are still filling or we are ready
312
+ // to cut the render off.
313
+ const cacheSignal = new _cachesignal.CacheSignal();
314
+ const initialServerPrerenderStore = {
315
+ type: 'prerender-runtime',
316
+ phase: 'render',
317
+ rootParams,
318
+ implicitTags,
319
+ renderSignal: initialServerRenderController.signal,
320
+ controller: initialServerPrerenderController,
321
+ // During the initial prerender we need to track all cache reads to ensure
322
+ // we render long enough to fill every cache it is possible to visit during
323
+ // the final prerender.
324
+ cacheSignal,
325
+ // We only need to track dynamic accesses during the final prerender.
326
+ dynamicTracking: null,
327
+ // Runtime prefetches are never cached server-side, only client-side,
328
+ // so we set `expire` and `revalidate` to their minimum values just in case.
329
+ revalidate: 1,
330
+ expire: 0,
331
+ stale: _constants1.INFINITE_CACHE,
332
+ tags: [
333
+ ...implicitTags.tags
334
+ ],
335
+ renderResumeDataCache,
336
+ prerenderResumeDataCache,
337
+ hmrRefreshHash: undefined,
338
+ captureOwnerStack: undefined,
339
+ // We only need task sequencing in the final prerender.
340
+ runtimeStagePromise: null,
341
+ // These are not present in regular prerenders, but allowed in a runtime prerender.
342
+ cookies,
343
+ draftMode
344
+ };
345
+ // We're not going to use the result of this render because the only time it could be used
346
+ // is if it completes in a microtask and that's likely very rare for any non-trivial app
347
+ const initialServerPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialServerPrerenderStore, getPayload);
348
+ const pendingInitialServerResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialServerPrerenderStore, ComponentMod.prerender, initialServerPayload, clientReferenceManifest.clientModules, {
349
+ filterStackFrame,
350
+ onError: (err)=>{
351
+ const digest = (0, _createerrorhandler.getDigestForWellKnownError)(err);
352
+ if (digest) {
353
+ return digest;
354
+ }
355
+ if (initialServerPrerenderController.signal.aborted) {
356
+ // The render aborted before this error was handled which indicates
357
+ // the error is caused by unfinished components within the render
358
+ return;
359
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
360
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route);
361
+ }
362
+ },
363
+ // we don't care to track postpones during the prospective render because we need
364
+ // to always do a final render anyway
365
+ onPostpone: undefined,
366
+ // We don't want to stop rendering until the cacheSignal is complete so we pass
367
+ // a different signal to this render call than is used by dynamic APIs to signify
368
+ // transitioning out of the prerender environment
369
+ signal: initialServerRenderController.signal
370
+ });
371
+ // Wait for all caches to be finished filling and for async imports to resolve
372
+ (0, _trackmoduleloadingexternal.trackPendingModules)(cacheSignal);
373
+ await cacheSignal.cacheReady();
374
+ initialServerRenderController.abort();
375
+ initialServerPrerenderController.abort();
376
+ // We don't need to continue the prerender process if we already
377
+ // detected invalid dynamic usage in the initial prerender phase.
378
+ if (workStore.invalidDynamicUsageError) {
379
+ throw workStore.invalidDynamicUsageError;
380
+ }
381
+ try {
382
+ return await (0, _apprenderprerenderutils.createReactServerPrerenderResult)(pendingInitialServerResult);
383
+ } catch (err) {
384
+ if (initialServerRenderController.signal.aborted || initialServerPrerenderController.signal.aborted) {
385
+ // These are expected errors that might error the prerender. we ignore them.
386
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
387
+ // We don't normally log these errors because we are going to retry anyway but
388
+ // it can be useful for debugging Next.js itself to get visibility here when needed
389
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route);
390
+ }
391
+ return null;
392
+ }
393
+ }
394
+ async function finalRuntimeServerPrerender(ctx, getPayload, prerenderResumeDataCache, renderResumeDataCache, rootParams, cookies, draftMode, onError) {
395
+ const { implicitTags, renderOpts } = ctx;
396
+ const { clientReferenceManifest, ComponentMod, experimental, isDebugDynamicAccesses } = renderOpts;
397
+ assertClientReferenceManifest(clientReferenceManifest);
398
+ const selectStaleTime = createSelectStaleTime(experimental);
399
+ let serverIsDynamic = false;
400
+ const finalServerController = new AbortController();
401
+ const serverDynamicTracking = (0, _dynamicrendering.createDynamicTrackingState)(isDebugDynamicAccesses);
402
+ const { promise: runtimeStagePromise, resolve: resolveBlockedRuntimeAPIs } = (0, _promisewithresolvers.createPromiseWithResolvers)();
403
+ const finalServerPrerenderStore = {
404
+ type: 'prerender-runtime',
405
+ phase: 'render',
406
+ rootParams,
407
+ implicitTags,
408
+ renderSignal: finalServerController.signal,
409
+ controller: finalServerController,
410
+ // All caches we could read must already be filled so no tracking is necessary
411
+ cacheSignal: null,
412
+ dynamicTracking: serverDynamicTracking,
413
+ // Runtime prefetches are never cached server-side, only client-side,
414
+ // so we set `expire` and `revalidate` to their minimum values just in case.
415
+ revalidate: 1,
416
+ expire: 0,
417
+ stale: _constants1.INFINITE_CACHE,
418
+ tags: [
419
+ ...implicitTags.tags
420
+ ],
421
+ prerenderResumeDataCache,
422
+ renderResumeDataCache,
423
+ hmrRefreshHash: undefined,
424
+ captureOwnerStack: undefined,
425
+ // Used to separate the "Static" stage from the "Runtime" stage.
426
+ runtimeStagePromise,
427
+ // These are not present in regular prerenders, but allowed in a runtime prerender.
428
+ cookies,
429
+ draftMode
430
+ };
431
+ const finalRSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(finalServerPrerenderStore, getPayload);
432
+ let prerenderIsPending = true;
433
+ const result = await (0, _apprenderprerenderutils.prerenderAndAbortInSequentialTasksWithStages)(async ()=>{
434
+ // Static stage
435
+ const prerenderResult = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(finalServerPrerenderStore, ComponentMod.prerender, finalRSCPayload, clientReferenceManifest.clientModules, {
436
+ filterStackFrame,
437
+ onError,
438
+ signal: finalServerController.signal
439
+ });
440
+ prerenderIsPending = false;
441
+ return prerenderResult;
442
+ }, ()=>{
443
+ // Advance to the runtime stage.
444
+ //
445
+ // We make runtime APIs hang during the first task (above), and unblock them in the following task (here).
446
+ // This makes sure that, at this point, we'll have finished all the static parts (what we'd prerender statically).
447
+ // We know that they don't contain any incorrect sync IO, because that'd have caused a build error.
448
+ // After we unblock Runtime APIs, if we encounter sync IO (e.g. `await cookies(); Date.now()`),
449
+ // we'll abort, but we'll produce at least as much output as a static prerender would.
450
+ resolveBlockedRuntimeAPIs();
451
+ }, ()=>{
452
+ // Abort.
453
+ if (finalServerController.signal.aborted) {
454
+ // If the server controller is already aborted we must have called something
455
+ // that required aborting the prerender synchronously such as with new Date()
456
+ serverIsDynamic = true;
457
+ return;
458
+ }
459
+ if (prerenderIsPending) {
460
+ // If prerenderIsPending then we have blocked for longer than a Task and we assume
461
+ // there is something unfinished.
462
+ serverIsDynamic = true;
463
+ }
464
+ finalServerController.abort();
465
+ });
466
+ (0, _dynamicrendering.warnOnSyncDynamicError)(serverDynamicTracking);
467
+ return {
468
+ result,
469
+ // TODO(runtime-ppr): do we need to produce a digest map here?
470
+ // digestErrorsMap: ...,
471
+ dynamicAccess: serverDynamicTracking,
472
+ isPartial: serverIsDynamic,
473
+ collectedRevalidate: finalServerPrerenderStore.revalidate,
474
+ collectedExpire: finalServerPrerenderStore.expire,
475
+ collectedStale: selectStaleTime(finalServerPrerenderStore.stale),
476
+ collectedTags: finalServerPrerenderStore.tags
477
+ };
478
+ }
479
+ /**
480
+ * Performs a "warmup" render of the RSC payload for a given route. This function is called by the server
481
+ * prior to an actual render request in Dev mode only. It's purpose is to fill caches so the actual render
482
+ * can accurately log activity in the right render context (Prerender vs Render).
483
+ *
484
+ * At the moment this implementation is mostly a fork of generateDynamicFlightRenderResult
485
+ */ async function warmupDevRender(req, ctx) {
486
+ const { clientReferenceManifest, componentMod: ComponentMod, getDynamicParamFromSegment, implicitTags, renderOpts, workStore } = ctx;
487
+ const { allowEmptyStaticShell = false, dev, onInstrumentationRequestError } = renderOpts;
488
+ if (!dev) {
489
+ throw Object.defineProperty(new _invarianterror.InvariantError('generateDynamicFlightRenderResult should never be called in `next start` mode.'), "__NEXT_ERROR_CODE", {
490
+ value: "E523",
491
+ enumerable: false,
492
+ configurable: true
493
+ });
494
+ }
495
+ const rootParams = (0, _createcomponenttree.getRootParams)(ComponentMod.tree, getDynamicParamFromSegment);
496
+ function onFlightDataRenderError(err) {
497
+ return onInstrumentationRequestError == null ? void 0 : onInstrumentationRequestError(err, req, createErrorContext(ctx, 'react-server-components-payload'));
498
+ }
499
+ const onError = (0, _createerrorhandler.createFlightReactServerErrorHandler)(true, onFlightDataRenderError);
500
+ // We're doing a dev warmup, so we should create a new resume data cache so
501
+ // we can fill it.
502
+ const prerenderResumeDataCache = (0, _resumedatacache.createPrerenderResumeDataCache)();
503
+ const renderController = new AbortController();
504
+ const prerenderController = new AbortController();
505
+ const reactController = new AbortController();
506
+ const cacheSignal = new _cachesignal.CacheSignal();
507
+ const prerenderStore = {
508
+ type: 'prerender',
509
+ phase: 'render',
510
+ rootParams,
511
+ implicitTags,
512
+ renderSignal: renderController.signal,
513
+ controller: prerenderController,
514
+ cacheSignal,
515
+ dynamicTracking: null,
516
+ allowEmptyStaticShell,
517
+ revalidate: _constants1.INFINITE_CACHE,
518
+ expire: _constants1.INFINITE_CACHE,
519
+ stale: _constants1.INFINITE_CACHE,
520
+ tags: [],
521
+ prerenderResumeDataCache,
522
+ renderResumeDataCache: null,
523
+ hmrRefreshHash: req.cookies[_approuterheaders.NEXT_HMR_REFRESH_HASH_COOKIE],
524
+ captureOwnerStack: ComponentMod.captureOwnerStack,
525
+ // warmup is a dev only feature and no fallback params are used in the
526
+ // primary render which is static. We only use a prerender store here to
527
+ // allow the warmup to halt on Request data APIs and fetches.
528
+ fallbackRouteParams: null
529
+ };
530
+ const rscPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderStore, generateDynamicRSCPayload, ctx);
531
+ // For app dir, use the bundled version of Flight server renderer (renderToReadableStream)
532
+ // which contains the subset React.
533
+ _workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderStore, ComponentMod.renderToReadableStream, rscPayload, clientReferenceManifest.clientModules, {
534
+ filterStackFrame,
535
+ onError,
536
+ signal: renderController.signal
537
+ });
538
+ // Wait for all caches to be finished filling and for async imports to resolve
539
+ (0, _trackmoduleloadingexternal.trackPendingModules)(cacheSignal);
540
+ await cacheSignal.cacheReady();
541
+ // We unset the cache so any late over-run renders aren't able to write into this cache
542
+ prerenderStore.prerenderResumeDataCache = null;
543
+ // Abort the render
544
+ reactController.abort();
545
+ renderController.abort();
546
+ // We don't really want to return a result here but the stack of functions
547
+ // that calls into renderToHTML... expects a result. We should refactor this to
548
+ // lift the warmup pathway outside of renderToHTML... but for now this suffices
549
+ return new _flightrenderresult.FlightRenderResult('', {
550
+ fetchMetrics: workStore.fetchMetrics,
551
+ renderResumeDataCache: (0, _resumedatacache.createRenderResumeDataCache)(prerenderResumeDataCache)
552
+ });
553
+ }
554
+ /**
555
+ * Crawlers will inadvertently think the canonicalUrl in the RSC payload should be crawled
556
+ * when our intention is to just seed the router state with the current URL.
557
+ * This function splits up the pathname so that we can later join it on
558
+ * when we're ready to consume the path.
559
+ */ function prepareInitialCanonicalUrl(url) {
560
+ return (url.pathname + url.search).split('/');
561
+ }
562
+ // This is the data necessary to render <AppRouter /> when no SSR errors are encountered
563
+ async function getRSCPayload(tree, ctx, is404) {
564
+ const injectedCSS = new Set();
565
+ const injectedJS = new Set();
566
+ const injectedFontPreloadTags = new Set();
567
+ let missingSlots;
568
+ // We only track missing parallel slots in development
569
+ if (process.env.NODE_ENV === 'development') {
570
+ missingSlots = new Set();
571
+ }
572
+ const { getDynamicParamFromSegment, query, appUsingSizeAdjustment, componentMod: { createMetadataComponents, MetadataBoundary, ViewportBoundary }, url, workStore } = ctx;
573
+ const initialTree = (0, _createflightrouterstatefromloadertree.createFlightRouterStateFromLoaderTree)(tree, getDynamicParamFromSegment, query);
574
+ const serveStreamingMetadata = !!ctx.renderOpts.serveStreamingMetadata;
575
+ const hasGlobalNotFound = !!tree[2]['global-not-found'];
576
+ const { ViewportTree, MetadataTree, getViewportReady, getMetadataReady, StreamingMetadataOutlet } = createMetadataComponents({
577
+ tree,
578
+ // When it's using global-not-found, metadata errorType is undefined, which will retrieve the
579
+ // metadata from the page.
580
+ // When it's using not-found, metadata errorType is 'not-found', which will retrieve the
581
+ // metadata from the not-found.js boundary.
582
+ // TODO: remove this condition and keep it undefined when global-not-found is stabilized.
583
+ errorType: is404 && !hasGlobalNotFound ? 'not-found' : undefined,
584
+ parsedQuery: query,
585
+ pathname: url.pathname,
586
+ metadataContext: (0, _metadatacontext.createMetadataContext)(ctx.renderOpts),
587
+ getDynamicParamFromSegment,
588
+ appUsingSizeAdjustment,
589
+ workStore,
590
+ MetadataBoundary,
591
+ ViewportBoundary,
592
+ serveStreamingMetadata
593
+ });
594
+ const preloadCallbacks = [];
595
+ const seedData = await (0, _createcomponenttree.createComponentTree)({
596
+ ctx,
597
+ loaderTree: tree,
598
+ parentParams: {},
599
+ injectedCSS,
600
+ injectedJS,
601
+ injectedFontPreloadTags,
602
+ rootLayoutIncluded: false,
603
+ getViewportReady,
604
+ getMetadataReady,
605
+ missingSlots,
606
+ preloadCallbacks,
607
+ authInterrupts: ctx.renderOpts.experimental.authInterrupts,
608
+ StreamingMetadataOutlet
609
+ });
610
+ // When the `vary` response header is present with `Next-URL`, that means there's a chance
611
+ // it could respond differently if there's an interception route. We provide this information
612
+ // to `AppRouter` so that it can properly seed the prefetch cache with a prefix, if needed.
613
+ const varyHeader = ctx.res.getHeader('vary');
614
+ const couldBeIntercepted = typeof varyHeader === 'string' && varyHeader.includes(_approuterheaders.NEXT_URL);
615
+ const initialHead = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.default.Fragment, {
616
+ children: [
617
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(NonIndex, {
618
+ pagePath: ctx.pagePath,
619
+ statusCode: ctx.res.statusCode,
620
+ isPossibleServerAction: ctx.isPossibleServerAction
621
+ }),
622
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(ViewportTree, {}),
623
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(MetadataTree, {})
624
+ ]
625
+ }, flightDataPathHeadKey);
626
+ const { GlobalError, styles: globalErrorStyles } = await getGlobalErrorStyles(tree, ctx);
627
+ // Assume the head we're rendering contains only partial data if PPR is
628
+ // enabled and this is a statically generated response. This is used by the
629
+ // client Segment Cache after a prefetch to determine if it can skip the
630
+ // second request to fill in the dynamic data.
631
+ //
632
+ // See similar comment in create-component-tree.tsx for more context.
633
+ const isPossiblyPartialHead = workStore.isStaticGeneration && ctx.renderOpts.experimental.isRoutePPREnabled === true;
634
+ return {
635
+ // See the comment above the `Preloads` component (below) for why this is part of the payload
636
+ P: /*#__PURE__*/ (0, _jsxruntime.jsx)(Preloads, {
637
+ preloadCallbacks: preloadCallbacks
638
+ }),
639
+ b: ctx.sharedContext.buildId,
640
+ p: ctx.assetPrefix,
641
+ c: prepareInitialCanonicalUrl(url),
642
+ i: !!couldBeIntercepted,
643
+ f: [
644
+ [
645
+ initialTree,
646
+ seedData,
647
+ initialHead,
648
+ isPossiblyPartialHead
649
+ ]
650
+ ],
651
+ m: missingSlots,
652
+ G: [
653
+ GlobalError,
654
+ globalErrorStyles
655
+ ],
656
+ s: typeof ctx.renderOpts.postponed === 'string',
657
+ S: workStore.isStaticGeneration
658
+ };
659
+ }
660
+ /**
661
+ * Preload calls (such as `ReactDOM.preloadStyle` and `ReactDOM.preloadFont`) need to be called during rendering
662
+ * in order to create the appropriate preload tags in the DOM, otherwise they're a no-op. Since we invoke
663
+ * renderToReadableStream with a function that returns component props rather than a component itself, we use
664
+ * this component to "render " the preload calls.
665
+ */ function Preloads({ preloadCallbacks }) {
666
+ preloadCallbacks.forEach((preloadFn)=>preloadFn());
667
+ return null;
668
+ }
669
+ // This is the data necessary to render <AppRouter /> when an error state is triggered
670
+ async function getErrorRSCPayload(tree, ctx, ssrError, errorType) {
671
+ const { getDynamicParamFromSegment, query, appUsingSizeAdjustment, componentMod: { createMetadataComponents, MetadataBoundary, ViewportBoundary }, url, workStore } = ctx;
672
+ const serveStreamingMetadata = !!ctx.renderOpts.serveStreamingMetadata;
673
+ const { MetadataTree, ViewportTree } = createMetadataComponents({
674
+ tree,
675
+ parsedQuery: query,
676
+ pathname: url.pathname,
677
+ metadataContext: (0, _metadatacontext.createMetadataContext)(ctx.renderOpts),
678
+ errorType,
679
+ getDynamicParamFromSegment,
680
+ appUsingSizeAdjustment,
681
+ workStore,
682
+ MetadataBoundary,
683
+ ViewportBoundary,
684
+ serveStreamingMetadata: serveStreamingMetadata
685
+ });
686
+ const initialHead = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.default.Fragment, {
687
+ children: [
688
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(NonIndex, {
689
+ pagePath: ctx.pagePath,
690
+ statusCode: ctx.res.statusCode,
691
+ isPossibleServerAction: ctx.isPossibleServerAction
692
+ }),
693
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(ViewportTree, {}),
694
+ process.env.NODE_ENV === 'development' && /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", {
695
+ name: "next-error",
696
+ content: "not-found"
697
+ }),
698
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(MetadataTree, {})
699
+ ]
700
+ }, flightDataPathHeadKey);
701
+ const initialTree = (0, _createflightrouterstatefromloadertree.createFlightRouterStateFromLoaderTree)(tree, getDynamicParamFromSegment, query);
702
+ let err = undefined;
703
+ if (ssrError) {
704
+ err = (0, _iserror.default)(ssrError) ? ssrError : Object.defineProperty(new Error(ssrError + ''), "__NEXT_ERROR_CODE", {
705
+ value: "E394",
706
+ enumerable: false,
707
+ configurable: true
708
+ });
709
+ }
710
+ // For metadata notFound error there's no global not found boundary on top
711
+ // so we create a not found page with AppRouter
712
+ const seedData = [
713
+ initialTree[0],
714
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("html", {
715
+ id: "__next_error__",
716
+ children: [
717
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("head", {}),
718
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("body", {
719
+ children: process.env.NODE_ENV !== 'production' && err ? /*#__PURE__*/ (0, _jsxruntime.jsx)("template", {
720
+ "data-next-error-message": err.message,
721
+ "data-next-error-digest": 'digest' in err ? err.digest : '',
722
+ "data-next-error-stack": err.stack
723
+ }) : null
724
+ })
725
+ ]
726
+ }),
727
+ {},
728
+ null,
729
+ false
730
+ ];
731
+ const { GlobalError, styles: globalErrorStyles } = await getGlobalErrorStyles(tree, ctx);
732
+ const isPossiblyPartialHead = workStore.isStaticGeneration && ctx.renderOpts.experimental.isRoutePPREnabled === true;
733
+ return {
734
+ b: ctx.sharedContext.buildId,
735
+ p: ctx.assetPrefix,
736
+ c: prepareInitialCanonicalUrl(url),
737
+ m: undefined,
738
+ i: false,
739
+ f: [
740
+ [
741
+ initialTree,
742
+ seedData,
743
+ initialHead,
744
+ isPossiblyPartialHead
745
+ ]
746
+ ],
747
+ G: [
748
+ GlobalError,
749
+ globalErrorStyles
750
+ ],
751
+ s: typeof ctx.renderOpts.postponed === 'string',
752
+ S: workStore.isStaticGeneration
753
+ };
754
+ }
755
+ function assertClientReferenceManifest(clientReferenceManifest) {
756
+ if (!clientReferenceManifest) {
757
+ throw Object.defineProperty(new _invarianterror.InvariantError('Expected clientReferenceManifest to be defined.'), "__NEXT_ERROR_CODE", {
758
+ value: "E692",
759
+ enumerable: false,
760
+ configurable: true
761
+ });
762
+ }
763
+ }
764
+ // This component must run in an SSR context. It will render the RSC root component
765
+ function App({ reactServerStream, preinitScripts, clientReferenceManifest, ServerInsertedHTMLProvider, nonce }) {
766
+ preinitScripts();
767
+ const response = _react.default.use((0, _useflightresponse.useFlightStream)(reactServerStream, clientReferenceManifest, nonce));
768
+ const initialState = (0, _createinitialrouterstate.createInitialRouterState)({
769
+ // This is not used during hydration, so we don't have to pass a
770
+ // real timestamp.
771
+ navigatedAt: -1,
772
+ initialFlightData: response.f,
773
+ initialCanonicalUrlParts: response.c,
774
+ initialParallelRoutes: new Map(),
775
+ // location is not initialized in the SSR render
776
+ // it's set to window.location during hydration
777
+ location: null,
778
+ couldBeIntercepted: response.i,
779
+ postponed: response.s,
780
+ prerendered: response.S
781
+ });
782
+ const actionQueue = (0, _approuterinstance.createMutableActionQueue)(initialState, null);
783
+ const { HeadManagerContext } = require('../../shared/lib/head-manager-context.shared-runtime');
784
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(HeadManagerContext.Provider, {
785
+ value: {
786
+ appDir: true,
787
+ nonce
788
+ },
789
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ServerInsertedHTMLProvider, {
790
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuter.default, {
791
+ actionQueue: actionQueue,
792
+ globalErrorState: response.G,
793
+ assetPrefix: response.p
794
+ })
795
+ })
796
+ });
797
+ }
798
+ // @TODO our error stream should be probably just use the same root component. But it was previously
799
+ // different I don't want to figure out if that is meaningful at this time so just keeping the behavior
800
+ // consistent for now.
801
+ function ErrorApp({ reactServerStream, preinitScripts, clientReferenceManifest, ServerInsertedHTMLProvider, nonce }) {
802
+ preinitScripts();
803
+ const response = _react.default.use((0, _useflightresponse.useFlightStream)(reactServerStream, clientReferenceManifest, nonce));
804
+ const initialState = (0, _createinitialrouterstate.createInitialRouterState)({
805
+ // This is not used during hydration, so we don't have to pass a
806
+ // real timestamp.
807
+ navigatedAt: -1,
808
+ initialFlightData: response.f,
809
+ initialCanonicalUrlParts: response.c,
810
+ initialParallelRoutes: new Map(),
811
+ // location is not initialized in the SSR render
812
+ // it's set to window.location during hydration
813
+ location: null,
814
+ couldBeIntercepted: response.i,
815
+ postponed: response.s,
816
+ prerendered: response.S
817
+ });
818
+ const actionQueue = (0, _approuterinstance.createMutableActionQueue)(initialState, null);
819
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(ServerInsertedHTMLProvider, {
820
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuter.default, {
821
+ actionQueue: actionQueue,
822
+ globalErrorState: response.G,
823
+ assetPrefix: response.p
824
+ })
825
+ });
826
+ }
827
+ async function renderToHTMLOrFlightImpl(req, res, url, pagePath, query, renderOpts, workStore, parsedRequestHeaders, postponedState, serverComponentsHmrCache, sharedContext, fallbackRouteParams) {
828
+ const isNotFoundPath = pagePath === '/404';
829
+ if (isNotFoundPath) {
830
+ res.statusCode = 404;
831
+ }
832
+ // A unique request timestamp used by development to ensure that it's
833
+ // consistent and won't change during this request. This is important to
834
+ // avoid that resources can be deduped by React Float if the same resource is
835
+ // rendered or preloaded multiple times: `<link href="a.css?v={Date.now()}"/>`.
836
+ const requestTimestamp = Date.now();
837
+ const { clientReferenceManifest, serverActionsManifest, ComponentMod, nextFontManifest, serverActions, assetPrefix = '', enableTainting } = renderOpts;
838
+ // We need to expose the bundled `require` API globally for
839
+ // react-server-dom-webpack. This is a hack until we find a better way.
840
+ if (ComponentMod.__next_app__) {
841
+ const instrumented = (0, _clientcomponentrendererlogger.wrapClientComponentLoader)(ComponentMod);
842
+ // When we are prerendering if there is a cacheSignal for tracking
843
+ // cache reads we track calls to `loadChunk` and `require`. This allows us
844
+ // to treat chunk/module loading with similar semantics as cache reads to avoid
845
+ // module loading from causing a prerender to abort too early.
846
+ const shouldTrackModuleLoading = ()=>{
847
+ if (!renderOpts.experimental.cacheComponents) {
848
+ return false;
849
+ }
850
+ if (renderOpts.dev) {
851
+ return true;
852
+ }
853
+ const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
854
+ if (!workUnitStore) {
855
+ return false;
856
+ }
857
+ switch(workUnitStore.type){
858
+ case 'prerender':
859
+ case 'prerender-client':
860
+ case 'prerender-runtime':
861
+ case 'cache':
862
+ case 'private-cache':
863
+ return true;
864
+ case 'prerender-ppr':
865
+ case 'prerender-legacy':
866
+ case 'request':
867
+ case 'unstable-cache':
868
+ return false;
869
+ default:
870
+ workUnitStore;
871
+ }
872
+ };
873
+ const __next_require__ = (...args)=>{
874
+ const exportsOrPromise = instrumented.require(...args);
875
+ if (shouldTrackModuleLoading()) {
876
+ // requiring an async module returns a promise.
877
+ (0, _trackmoduleloadingexternal.trackPendingImport)(exportsOrPromise);
878
+ }
879
+ return exportsOrPromise;
880
+ };
881
+ // @ts-expect-error
882
+ globalThis.__next_require__ = __next_require__;
883
+ const __next_chunk_load__ = (...args)=>{
884
+ const loadingChunk = instrumented.loadChunk(...args);
885
+ if (shouldTrackModuleLoading()) {
886
+ (0, _trackmoduleloadingexternal.trackPendingChunkLoad)(loadingChunk);
887
+ }
888
+ return loadingChunk;
889
+ };
890
+ // @ts-expect-error
891
+ globalThis.__next_chunk_load__ = __next_chunk_load__;
892
+ }
893
+ if (process.env.NODE_ENV === 'development') {
894
+ // reset isr status at start of request
895
+ const { pathname } = new URL(req.url || '/', 'http://n');
896
+ renderOpts.setIsrStatus == null ? void 0 : renderOpts.setIsrStatus.call(renderOpts, pathname, null);
897
+ }
898
+ if (// The type check here ensures that `req` is correctly typed, and the
899
+ // environment variable check provides dead code elimination.
900
+ process.env.NEXT_RUNTIME !== 'edge' && (0, _helpers.isNodeNextRequest)(req)) {
901
+ res.onClose(()=>{
902
+ // We stop tracking fetch metrics when the response closes, since we
903
+ // report them at that time.
904
+ workStore.shouldTrackFetchMetrics = false;
905
+ });
906
+ req.originalRequest.on('end', ()=>{
907
+ if ('performance' in globalThis) {
908
+ const metrics = (0, _clientcomponentrendererlogger.getClientComponentLoaderMetrics)({
909
+ reset: true
910
+ });
911
+ if (metrics) {
912
+ (0, _tracer.getTracer)().startSpan(_constants.NextNodeServerSpan.clientComponentLoading, {
913
+ startTime: metrics.clientComponentLoadStart,
914
+ attributes: {
915
+ 'next.clientComponentLoadCount': metrics.clientComponentLoadCount,
916
+ 'next.span_type': _constants.NextNodeServerSpan.clientComponentLoading
917
+ }
918
+ }).end(metrics.clientComponentLoadStart + metrics.clientComponentLoadTimes);
919
+ }
920
+ }
921
+ });
922
+ }
923
+ const metadata = {
924
+ statusCode: isNotFoundPath ? 404 : undefined
925
+ };
926
+ const appUsingSizeAdjustment = !!(nextFontManifest == null ? void 0 : nextFontManifest.appUsingSizeAdjust);
927
+ assertClientReferenceManifest(clientReferenceManifest);
928
+ const serverModuleMap = (0, _actionutils.createServerModuleMap)({
929
+ serverActionsManifest
930
+ });
931
+ (0, _encryptionutils.setReferenceManifestsSingleton)({
932
+ page: workStore.page,
933
+ clientReferenceManifest,
934
+ serverActionsManifest,
935
+ serverModuleMap
936
+ });
937
+ ComponentMod.patchFetch();
938
+ // Pull out the hooks/references from the component.
939
+ const { tree: loaderTree, taintObjectReference } = ComponentMod;
940
+ if (enableTainting) {
941
+ taintObjectReference('Do not pass process.env to Client Components since it will leak sensitive data', process.env);
942
+ }
943
+ workStore.fetchMetrics = [];
944
+ metadata.fetchMetrics = workStore.fetchMetrics;
945
+ // don't modify original query object
946
+ query = {
947
+ ...query
948
+ };
949
+ (0, _internalutils.stripInternalQueries)(query);
950
+ const { flightRouterState, isPrefetchRequest, isRuntimePrefetchRequest, isRSCRequest, isDevWarmupRequest, isHmrRefresh, nonce } = parsedRequestHeaders;
951
+ const { isStaticGeneration } = workStore;
952
+ /**
953
+ * The metadata items array created in next-app-loader with all relevant information
954
+ * that we need to resolve the final metadata.
955
+ */ let requestId;
956
+ if (isStaticGeneration) {
957
+ requestId = Buffer.from(await crypto.subtle.digest('SHA-1', Buffer.from(req.url))).toString('hex');
958
+ } else if (process.env.NEXT_RUNTIME === 'edge') {
959
+ requestId = crypto.randomUUID();
960
+ } else {
961
+ requestId = require('next/dist/compiled/nanoid').nanoid();
962
+ }
963
+ /**
964
+ * Dynamic parameters. E.g. when you visit `/dashboard/vercel` which is rendered by `/dashboard/[slug]` the value will be {"slug": "vercel"}.
965
+ */ const params = renderOpts.params ?? {};
966
+ const getDynamicParamFromSegment = makeGetDynamicParamFromSegment(params, pagePath, fallbackRouteParams);
967
+ const isPossibleActionRequest = (0, _serveractionrequestmeta.getIsPossibleServerAction)(req);
968
+ const implicitTags = await (0, _implicittags.getImplicitTags)(workStore.page, url, fallbackRouteParams);
969
+ const ctx = {
970
+ componentMod: ComponentMod,
971
+ url,
972
+ renderOpts,
973
+ workStore,
974
+ parsedRequestHeaders,
975
+ getDynamicParamFromSegment,
976
+ query,
977
+ isPrefetch: isPrefetchRequest,
978
+ isPossibleServerAction: isPossibleActionRequest,
979
+ requestTimestamp,
980
+ appUsingSizeAdjustment,
981
+ flightRouterState,
982
+ requestId,
983
+ pagePath,
984
+ clientReferenceManifest,
985
+ assetPrefix,
986
+ isNotFoundPath,
987
+ nonce,
988
+ res,
989
+ sharedContext,
990
+ implicitTags
991
+ };
992
+ (0, _tracer.getTracer)().setRootSpanAttribute('next.route', pagePath);
993
+ if (isStaticGeneration) {
994
+ // We're either building or revalidating. In either case we need to
995
+ // prerender our page rather than render it.
996
+ const prerenderToStreamWithTracing = (0, _tracer.getTracer)().wrap(_constants.AppRenderSpan.getBodyResult, {
997
+ spanName: `prerender route (app) ${pagePath}`,
998
+ attributes: {
999
+ 'next.route': pagePath
1000
+ }
1001
+ }, prerenderToStream);
1002
+ const response = await prerenderToStreamWithTracing(req, res, ctx, metadata, loaderTree, fallbackRouteParams);
1003
+ // If we're debugging partial prerendering, print all the dynamic API accesses
1004
+ // that occurred during the render.
1005
+ // @TODO move into renderToStream function
1006
+ if (response.dynamicAccess && (0, _dynamicrendering.accessedDynamicData)(response.dynamicAccess) && renderOpts.isDebugDynamicAccesses) {
1007
+ (0, _log.warn)('The following dynamic usage was detected:');
1008
+ for (const access of (0, _dynamicrendering.formatDynamicAPIAccesses)(response.dynamicAccess)){
1009
+ (0, _log.warn)(access);
1010
+ }
1011
+ }
1012
+ // If we encountered any unexpected errors during build we fail the
1013
+ // prerendering phase and the build.
1014
+ if (workStore.invalidDynamicUsageError) {
1015
+ (0, _dynamicrendering.logDisallowedDynamicError)(workStore, workStore.invalidDynamicUsageError);
1016
+ throw new _staticgenerationbailout.StaticGenBailoutError();
1017
+ }
1018
+ if (response.digestErrorsMap.size) {
1019
+ const buildFailingError = response.digestErrorsMap.values().next().value;
1020
+ if (buildFailingError) throw buildFailingError;
1021
+ }
1022
+ // Pick first userland SSR error, which is also not a RSC error.
1023
+ if (response.ssrErrors.length) {
1024
+ const buildFailingError = response.ssrErrors.find((err)=>(0, _createerrorhandler.isUserLandError)(err));
1025
+ if (buildFailingError) throw buildFailingError;
1026
+ }
1027
+ const options = {
1028
+ metadata,
1029
+ contentType: _constants1.HTML_CONTENT_TYPE_HEADER
1030
+ };
1031
+ // If we have pending revalidates, wait until they are all resolved.
1032
+ if (workStore.pendingRevalidates || workStore.pendingRevalidateWrites || workStore.pendingRevalidatedTags) {
1033
+ const pendingPromise = (0, _revalidationutils.executeRevalidates)(workStore).finally(()=>{
1034
+ if (process.env.NEXT_PRIVATE_DEBUG_CACHE) {
1035
+ console.log('pending revalidates promise finished for:', url);
1036
+ }
1037
+ });
1038
+ if (renderOpts.waitUntil) {
1039
+ renderOpts.waitUntil(pendingPromise);
1040
+ } else {
1041
+ options.waitUntil = pendingPromise;
1042
+ }
1043
+ }
1044
+ applyMetadataFromPrerenderResult(response, metadata, workStore);
1045
+ if (response.renderResumeDataCache) {
1046
+ metadata.renderResumeDataCache = response.renderResumeDataCache;
1047
+ }
1048
+ return new _renderresult.default(await (0, _nodewebstreamshelper.streamToString)(response.stream), options);
1049
+ } else {
1050
+ // We're rendering dynamically
1051
+ const renderResumeDataCache = renderOpts.renderResumeDataCache ?? (postponedState == null ? void 0 : postponedState.renderResumeDataCache);
1052
+ const rootParams = (0, _createcomponenttree.getRootParams)(loaderTree, ctx.getDynamicParamFromSegment);
1053
+ const devValidatingFallbackParams = (0, _requestmeta.getRequestMeta)(req, 'devValidatingFallbackParams') || null;
1054
+ const requestStore = (0, _requeststore.createRequestStoreForRender)(req, res, url, rootParams, implicitTags, renderOpts.onUpdateCookies, renderOpts.previewProps, isHmrRefresh, serverComponentsHmrCache, renderResumeDataCache, devValidatingFallbackParams);
1055
+ if (process.env.NODE_ENV === 'development' && renderOpts.setIsrStatus && // The type check here ensures that `req` is correctly typed, and the
1056
+ // environment variable check provides dead code elimination.
1057
+ process.env.NEXT_RUNTIME !== 'edge' && (0, _helpers.isNodeNextRequest)(req) && !isDevWarmupRequest) {
1058
+ const setIsrStatus = renderOpts.setIsrStatus;
1059
+ req.originalRequest.on('end', ()=>{
1060
+ if (!requestStore.usedDynamic && !workStore.forceDynamic) {
1061
+ // only node can be ISR so we only need to update the status here
1062
+ const { pathname } = new URL(req.url || '/', 'http://n');
1063
+ setIsrStatus(pathname, true);
1064
+ }
1065
+ });
1066
+ }
1067
+ if (isDevWarmupRequest) {
1068
+ return warmupDevRender(req, ctx);
1069
+ } else if (isRSCRequest) {
1070
+ if (isRuntimePrefetchRequest) {
1071
+ return generateRuntimePrefetchResult(req, res, ctx, requestStore);
1072
+ } else {
1073
+ return generateDynamicFlightRenderResult(req, ctx, requestStore);
1074
+ }
1075
+ }
1076
+ const renderToStreamWithTracing = (0, _tracer.getTracer)().wrap(_constants.AppRenderSpan.getBodyResult, {
1077
+ spanName: `render route (app) ${pagePath}`,
1078
+ attributes: {
1079
+ 'next.route': pagePath
1080
+ }
1081
+ }, renderToStream);
1082
+ let formState = null;
1083
+ if (isPossibleActionRequest) {
1084
+ // For action requests, we handle them differently with a special render result.
1085
+ const actionRequestResult = await (0, _actionhandler.handleAction)({
1086
+ req,
1087
+ res,
1088
+ ComponentMod,
1089
+ serverModuleMap,
1090
+ generateFlight: generateDynamicFlightRenderResult,
1091
+ workStore,
1092
+ requestStore,
1093
+ serverActions,
1094
+ ctx,
1095
+ metadata
1096
+ });
1097
+ if (actionRequestResult) {
1098
+ if (actionRequestResult.type === 'not-found') {
1099
+ const notFoundLoaderTree = createNotFoundLoaderTree(loaderTree);
1100
+ res.statusCode = 404;
1101
+ metadata.statusCode = 404;
1102
+ const stream = await renderToStreamWithTracing(requestStore, req, res, ctx, notFoundLoaderTree, formState, postponedState, metadata, devValidatingFallbackParams);
1103
+ return new _renderresult.default(stream, {
1104
+ metadata,
1105
+ contentType: _constants1.HTML_CONTENT_TYPE_HEADER
1106
+ });
1107
+ } else if (actionRequestResult.type === 'done') {
1108
+ if (actionRequestResult.result) {
1109
+ actionRequestResult.result.assignMetadata(metadata);
1110
+ return actionRequestResult.result;
1111
+ } else if (actionRequestResult.formState) {
1112
+ formState = actionRequestResult.formState;
1113
+ }
1114
+ }
1115
+ }
1116
+ }
1117
+ const options = {
1118
+ metadata,
1119
+ contentType: _constants1.HTML_CONTENT_TYPE_HEADER
1120
+ };
1121
+ const stream = await renderToStreamWithTracing(requestStore, req, res, ctx, loaderTree, formState, postponedState, metadata, devValidatingFallbackParams);
1122
+ // Invalid dynamic usages should only error the request in development.
1123
+ // In production, it's better to produce a result.
1124
+ // (the dynamic error will still be thrown inside the component tree, but it's catchable by error boundaries)
1125
+ if (workStore.invalidDynamicUsageError && workStore.dev) {
1126
+ throw workStore.invalidDynamicUsageError;
1127
+ }
1128
+ // If we have pending revalidates, wait until they are all resolved.
1129
+ if (workStore.pendingRevalidates || workStore.pendingRevalidateWrites || workStore.pendingRevalidatedTags) {
1130
+ const pendingPromise = (0, _revalidationutils.executeRevalidates)(workStore).finally(()=>{
1131
+ if (process.env.NEXT_PRIVATE_DEBUG_CACHE) {
1132
+ console.log('pending revalidates promise finished for:', url);
1133
+ }
1134
+ });
1135
+ if (renderOpts.waitUntil) {
1136
+ renderOpts.waitUntil(pendingPromise);
1137
+ } else {
1138
+ options.waitUntil = pendingPromise;
1139
+ }
1140
+ }
1141
+ // Create the new render result for the response.
1142
+ return new _renderresult.default(stream, options);
1143
+ }
1144
+ }
1145
+ const renderToHTMLOrFlight = (req, res, pagePath, query, fallbackRouteParams, renderOpts, serverComponentsHmrCache, isDevWarmup, sharedContext)=>{
1146
+ var _renderOpts_previewProps;
1147
+ if (!req.url) {
1148
+ throw Object.defineProperty(new Error('Invalid URL'), "__NEXT_ERROR_CODE", {
1149
+ value: "E182",
1150
+ enumerable: false,
1151
+ configurable: true
1152
+ });
1153
+ }
1154
+ const url = (0, _parserelativeurl.parseRelativeUrl)(req.url, undefined, false);
1155
+ // We read these values from the request object as, in certain cases,
1156
+ // base-server will strip them to opt into different rendering behavior.
1157
+ const parsedRequestHeaders = parseRequestHeaders(req.headers, {
1158
+ isDevWarmup,
1159
+ isRoutePPREnabled: renderOpts.experimental.isRoutePPREnabled === true,
1160
+ previewModeId: (_renderOpts_previewProps = renderOpts.previewProps) == null ? void 0 : _renderOpts_previewProps.previewModeId
1161
+ });
1162
+ const { isPrefetchRequest, previouslyRevalidatedTags } = parsedRequestHeaders;
1163
+ let postponedState = null;
1164
+ // If provided, the postpone state should be parsed so it can be provided to
1165
+ // React.
1166
+ if (typeof renderOpts.postponed === 'string') {
1167
+ if (fallbackRouteParams) {
1168
+ throw Object.defineProperty(new _invarianterror.InvariantError('postponed state should not be provided when fallback params are provided'), "__NEXT_ERROR_CODE", {
1169
+ value: "E592",
1170
+ enumerable: false,
1171
+ configurable: true
1172
+ });
1173
+ }
1174
+ postponedState = (0, _postponedstate.parsePostponedState)(renderOpts.postponed, renderOpts.params);
1175
+ }
1176
+ if ((postponedState == null ? void 0 : postponedState.renderResumeDataCache) && renderOpts.renderResumeDataCache) {
1177
+ throw Object.defineProperty(new _invarianterror.InvariantError('postponed state and dev warmup immutable resume data cache should not be provided together'), "__NEXT_ERROR_CODE", {
1178
+ value: "E589",
1179
+ enumerable: false,
1180
+ configurable: true
1181
+ });
1182
+ }
1183
+ const workStore = (0, _workstore.createWorkStore)({
1184
+ page: renderOpts.routeModule.definition.page,
1185
+ renderOpts,
1186
+ // @TODO move to workUnitStore of type Request
1187
+ isPrefetchRequest,
1188
+ buildId: sharedContext.buildId,
1189
+ previouslyRevalidatedTags
1190
+ });
1191
+ return _workasyncstorageexternal.workAsyncStorage.run(workStore, // The function to run
1192
+ renderToHTMLOrFlightImpl, // all of it's args
1193
+ req, res, url, pagePath, query, renderOpts, workStore, parsedRequestHeaders, postponedState, serverComponentsHmrCache, sharedContext, fallbackRouteParams);
1194
+ };
1195
+ function applyMetadataFromPrerenderResult(response, metadata, workStore) {
1196
+ var _metadata_cacheControl;
1197
+ if (response.collectedTags) {
1198
+ metadata.fetchTags = response.collectedTags.join(',');
1199
+ }
1200
+ // Let the client router know how long to keep the cached entry around.
1201
+ const staleHeader = String(response.collectedStale);
1202
+ metadata.headers ??= {};
1203
+ metadata.headers[_approuterheaders.NEXT_ROUTER_STALE_TIME_HEADER] = staleHeader;
1204
+ // If force static is specifically set to false, we should not revalidate
1205
+ // the page.
1206
+ if (workStore.forceStatic === false || response.collectedRevalidate === 0) {
1207
+ metadata.cacheControl = {
1208
+ revalidate: 0,
1209
+ expire: undefined
1210
+ };
1211
+ } else {
1212
+ // Copy the cache control value onto the render result metadata.
1213
+ metadata.cacheControl = {
1214
+ revalidate: response.collectedRevalidate >= _constants1.INFINITE_CACHE ? false : response.collectedRevalidate,
1215
+ expire: response.collectedExpire >= _constants1.INFINITE_CACHE ? undefined : response.collectedExpire
1216
+ };
1217
+ }
1218
+ // provide bailout info for debugging
1219
+ if (((_metadata_cacheControl = metadata.cacheControl) == null ? void 0 : _metadata_cacheControl.revalidate) === 0) {
1220
+ metadata.staticBailoutInfo = {
1221
+ description: workStore.dynamicUsageDescription,
1222
+ stack: workStore.dynamicUsageStack
1223
+ };
1224
+ }
1225
+ }
1226
+ async function renderToStream(requestStore, req, res, ctx, tree, formState, postponedState, metadata, devValidatingFallbackParams) {
1227
+ const { assetPrefix, nonce, pagePath, renderOpts } = ctx;
1228
+ const { basePath, buildManifest, clientReferenceManifest, ComponentMod, crossOrigin, dev = false, experimental, nextExport = false, onInstrumentationRequestError, page, reactMaxHeadersLength, shouldWaitOnAllReady, subresourceIntegrityManifest, supportsDynamicResponse } = renderOpts;
1229
+ assertClientReferenceManifest(clientReferenceManifest);
1230
+ const { ServerInsertedHTMLProvider, renderServerInsertedHTML } = (0, _serverinsertedhtml.createServerInsertedHTML)();
1231
+ const getServerInsertedMetadata = (0, _createserverinsertedmetadata.createServerInsertedMetadata)(nonce);
1232
+ const tracingMetadata = (0, _utils1.getTracedMetadata)((0, _tracer.getTracer)().getTracePropagationData(), experimental.clientTraceMetadata);
1233
+ const polyfills = buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith('.js') && !polyfill.endsWith('.module.js')).map((polyfill)=>({
1234
+ src: `${assetPrefix}/_next/${polyfill}${(0, _getassetquerystring.getAssetQueryString)(ctx, false)}`,
1235
+ integrity: subresourceIntegrityManifest == null ? void 0 : subresourceIntegrityManifest[polyfill],
1236
+ crossOrigin,
1237
+ noModule: true,
1238
+ nonce
1239
+ }));
1240
+ const [preinitScripts, bootstrapScript] = (0, _requiredscripts.getRequiredScripts)(buildManifest, // Why is assetPrefix optional on renderOpts?
1241
+ // @TODO make it default empty string on renderOpts and get rid of it from ctx
1242
+ assetPrefix, crossOrigin, subresourceIntegrityManifest, (0, _getassetquerystring.getAssetQueryString)(ctx, true), nonce, page);
1243
+ const reactServerErrorsByDigest = new Map();
1244
+ const silenceLogger = false;
1245
+ function onHTMLRenderRSCError(err) {
1246
+ return onInstrumentationRequestError == null ? void 0 : onInstrumentationRequestError(err, req, createErrorContext(ctx, 'react-server-components'));
1247
+ }
1248
+ const serverComponentsErrorHandler = (0, _createerrorhandler.createHTMLReactServerErrorHandler)(dev, nextExport, reactServerErrorsByDigest, silenceLogger, onHTMLRenderRSCError);
1249
+ function onHTMLRenderSSRError(err) {
1250
+ return onInstrumentationRequestError == null ? void 0 : onInstrumentationRequestError(err, req, createErrorContext(ctx, 'server-rendering'));
1251
+ }
1252
+ const allCapturedErrors = [];
1253
+ const htmlRendererErrorHandler = (0, _createerrorhandler.createHTMLErrorHandler)(dev, nextExport, reactServerErrorsByDigest, allCapturedErrors, silenceLogger, onHTMLRenderSSRError);
1254
+ let reactServerResult = null;
1255
+ const setHeader = res.setHeader.bind(res);
1256
+ const appendHeader = res.appendHeader.bind(res);
1257
+ try {
1258
+ if (// We only want this behavior when running `next dev`
1259
+ dev && // We only want this behavior when we have React's dev builds available
1260
+ process.env.NODE_ENV === 'development' && // Edge routes never prerender so we don't have a Prerender environment for anything in edge runtime
1261
+ process.env.NEXT_RUNTIME !== 'edge' && // We only have a Prerender environment for projects opted into cacheComponents
1262
+ experimental.cacheComponents) {
1263
+ // This is a dynamic render. We don't do dynamic tracking because we're not prerendering
1264
+ const RSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, getRSCPayload, tree, ctx, res.statusCode === 404);
1265
+ const [resolveValidation, validationOutlet] = createValidationOutlet();
1266
+ RSCPayload._validation = validationOutlet;
1267
+ const reactServerStream = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, _apprenderrenderutils.scheduleInSequentialTasks, ()=>{
1268
+ requestStore.prerenderPhase = true;
1269
+ return ComponentMod.renderToReadableStream(RSCPayload, clientReferenceManifest.clientModules, {
1270
+ onError: serverComponentsErrorHandler,
1271
+ environmentName: ()=>requestStore.prerenderPhase === true ? 'Prerender' : 'Server',
1272
+ filterStackFrame
1273
+ });
1274
+ }, ()=>{
1275
+ requestStore.prerenderPhase = false;
1276
+ });
1277
+ spawnDynamicValidationInDev(resolveValidation, tree, ctx, res.statusCode === 404, clientReferenceManifest, requestStore, devValidatingFallbackParams);
1278
+ reactServerResult = new _apprenderprerenderutils.ReactServerResult(reactServerStream);
1279
+ } else {
1280
+ // This is a dynamic render. We don't do dynamic tracking because we're not prerendering
1281
+ const RSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, getRSCPayload, tree, ctx, res.statusCode === 404);
1282
+ reactServerResult = new _apprenderprerenderutils.ReactServerResult(_workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, ComponentMod.renderToReadableStream, RSCPayload, clientReferenceManifest.clientModules, {
1283
+ filterStackFrame,
1284
+ onError: serverComponentsErrorHandler
1285
+ }));
1286
+ }
1287
+ // React doesn't start rendering synchronously but we want the RSC render to have a chance to start
1288
+ // before we begin SSR rendering because we want to capture any available preload headers so we tick
1289
+ // one task before continuing
1290
+ await (0, _scheduler.waitAtLeastOneReactRenderTask)();
1291
+ // If provided, the postpone state should be parsed as JSON so it can be
1292
+ // provided to React.
1293
+ if (typeof renderOpts.postponed === 'string') {
1294
+ if ((postponedState == null ? void 0 : postponedState.type) === _postponedstate.DynamicState.DATA) {
1295
+ // We have a complete HTML Document in the prerender but we need to
1296
+ // still include the new server component render because it was not included
1297
+ // in the static prelude.
1298
+ const inlinedReactServerDataStream = (0, _useflightresponse.createInlinedDataReadableStream)(reactServerResult.tee(), nonce, formState);
1299
+ return (0, _nodewebstreamshelper.chainStreams)(inlinedReactServerDataStream, (0, _nodewebstreamshelper.createDocumentClosingStream)());
1300
+ } else if (postponedState) {
1301
+ // We assume we have dynamic HTML requiring a resume render to complete
1302
+ const { postponed, preludeState } = (0, _postponedstate.getPostponedFromState)(postponedState);
1303
+ const resume = require('react-dom/server').resume;
1304
+ const htmlStream = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, resume, /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
1305
+ reactServerStream: reactServerResult.tee(),
1306
+ preinitScripts: preinitScripts,
1307
+ clientReferenceManifest: clientReferenceManifest,
1308
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
1309
+ nonce: nonce
1310
+ }), postponed, {
1311
+ onError: htmlRendererErrorHandler,
1312
+ nonce
1313
+ });
1314
+ const getServerInsertedHTML = (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
1315
+ polyfills,
1316
+ renderServerInsertedHTML,
1317
+ serverCapturedErrors: allCapturedErrors,
1318
+ basePath,
1319
+ tracingMetadata: tracingMetadata
1320
+ });
1321
+ return await (0, _nodewebstreamshelper.continueDynamicHTMLResume)(htmlStream, {
1322
+ // If the prelude is empty (i.e. is no static shell), we should wait for initial HTML to be rendered
1323
+ // to avoid injecting RSC data too early.
1324
+ // If we have a non-empty-prelude (i.e. a static HTML shell), then it's already been sent separately,
1325
+ // so we shouldn't wait for any HTML to be emitted from the resume before sending RSC data.
1326
+ delayDataUntilFirstHtmlChunk: preludeState === _postponedstate.DynamicHTMLPreludeState.Empty,
1327
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(reactServerResult.consume(), nonce, formState),
1328
+ getServerInsertedHTML,
1329
+ getServerInsertedMetadata
1330
+ });
1331
+ }
1332
+ }
1333
+ // This is a regular dynamic render
1334
+ const renderToReadableStream = require('react-dom/server').renderToReadableStream;
1335
+ const htmlStream = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, renderToReadableStream, /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
1336
+ reactServerStream: reactServerResult.tee(),
1337
+ preinitScripts: preinitScripts,
1338
+ clientReferenceManifest: clientReferenceManifest,
1339
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
1340
+ nonce: nonce
1341
+ }), {
1342
+ onError: htmlRendererErrorHandler,
1343
+ nonce,
1344
+ onHeaders: (headers)=>{
1345
+ headers.forEach((value, key)=>{
1346
+ appendHeader(key, value);
1347
+ });
1348
+ },
1349
+ maxHeadersLength: reactMaxHeadersLength,
1350
+ bootstrapScripts: [
1351
+ bootstrapScript
1352
+ ],
1353
+ formState
1354
+ });
1355
+ const getServerInsertedHTML = (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
1356
+ polyfills,
1357
+ renderServerInsertedHTML,
1358
+ serverCapturedErrors: allCapturedErrors,
1359
+ basePath,
1360
+ tracingMetadata: tracingMetadata
1361
+ });
1362
+ /**
1363
+ * Rules of Static & Dynamic HTML:
1364
+ *
1365
+ * 1.) We must generate static HTML unless the caller explicitly opts
1366
+ * in to dynamic HTML support.
1367
+ *
1368
+ * 2.) If dynamic HTML support is requested, we must honor that request
1369
+ * or throw an error. It is the sole responsibility of the caller to
1370
+ * ensure they aren't e.g. requesting dynamic HTML for an AMP page.
1371
+ *
1372
+ * 3.) If `shouldWaitOnAllReady` is true, which indicates we need to
1373
+ * resolve all suspenses and generate a full HTML. e.g. when it's a
1374
+ * html limited bot requests, we produce the full HTML content.
1375
+ *
1376
+ * These rules help ensure that other existing features like request caching,
1377
+ * coalescing, and ISR continue working as intended.
1378
+ */ const generateStaticHTML = supportsDynamicResponse !== true || !!shouldWaitOnAllReady;
1379
+ return await (0, _nodewebstreamshelper.continueFizzStream)(htmlStream, {
1380
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(reactServerResult.consume(), nonce, formState),
1381
+ isStaticGeneration: generateStaticHTML,
1382
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
1383
+ buildId: ctx.workStore.buildId,
1384
+ getServerInsertedHTML,
1385
+ getServerInsertedMetadata,
1386
+ validateRootLayout: dev
1387
+ });
1388
+ } catch (err) {
1389
+ if ((0, _staticgenerationbailout.isStaticGenBailoutError)(err) || typeof err === 'object' && err !== null && 'message' in err && typeof err.message === 'string' && err.message.includes('https://nextjs.org/docs/advanced-features/static-html-export')) {
1390
+ // Ensure that "next dev" prints the red error overlay
1391
+ throw err;
1392
+ }
1393
+ // If a bailout made it to this point, it means it wasn't wrapped inside
1394
+ // a suspense boundary.
1395
+ const shouldBailoutToCSR = (0, _bailouttocsr.isBailoutToCSRError)(err);
1396
+ if (shouldBailoutToCSR) {
1397
+ const stack = (0, _formatservererror.getStackWithoutErrorMessage)(err);
1398
+ (0, _log.error)(`${err.reason} should be wrapped in a suspense boundary at page "${pagePath}". Read more: https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout\n${stack}`);
1399
+ throw err;
1400
+ }
1401
+ let errorType;
1402
+ if ((0, _httpaccessfallback.isHTTPAccessFallbackError)(err)) {
1403
+ res.statusCode = (0, _httpaccessfallback.getAccessFallbackHTTPStatus)(err);
1404
+ metadata.statusCode = res.statusCode;
1405
+ errorType = (0, _httpaccessfallback.getAccessFallbackErrorTypeByStatus)(res.statusCode);
1406
+ } else if ((0, _redirecterror.isRedirectError)(err)) {
1407
+ errorType = 'redirect';
1408
+ res.statusCode = (0, _redirect.getRedirectStatusCodeFromError)(err);
1409
+ metadata.statusCode = res.statusCode;
1410
+ const redirectUrl = (0, _addpathprefix.addPathPrefix)((0, _redirect.getURLFromRedirectError)(err), basePath);
1411
+ // If there were mutable cookies set, we need to set them on the
1412
+ // response.
1413
+ const headers = new Headers();
1414
+ if ((0, _requestcookies.appendMutableCookies)(headers, requestStore.mutableCookies)) {
1415
+ setHeader('set-cookie', Array.from(headers.values()));
1416
+ }
1417
+ setHeader('location', redirectUrl);
1418
+ } else if (!shouldBailoutToCSR) {
1419
+ res.statusCode = 500;
1420
+ metadata.statusCode = res.statusCode;
1421
+ }
1422
+ const [errorPreinitScripts, errorBootstrapScript] = (0, _requiredscripts.getRequiredScripts)(buildManifest, assetPrefix, crossOrigin, subresourceIntegrityManifest, (0, _getassetquerystring.getAssetQueryString)(ctx, false), nonce, '/_not-found/page');
1423
+ const errorRSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, getErrorRSCPayload, tree, ctx, reactServerErrorsByDigest.has(err.digest) ? null : err, errorType);
1424
+ const errorServerStream = _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, ComponentMod.renderToReadableStream, errorRSCPayload, clientReferenceManifest.clientModules, {
1425
+ filterStackFrame,
1426
+ onError: serverComponentsErrorHandler
1427
+ });
1428
+ if (reactServerResult === null) {
1429
+ // We errored when we did not have an RSC stream to read from. This is not just a render
1430
+ // error, we need to throw early
1431
+ throw err;
1432
+ }
1433
+ try {
1434
+ const fizzStream = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, _nodewebstreamshelper.renderToInitialFizzStream, {
1435
+ ReactDOMServer: require('react-dom/server'),
1436
+ element: /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorApp, {
1437
+ reactServerStream: errorServerStream,
1438
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
1439
+ preinitScripts: errorPreinitScripts,
1440
+ clientReferenceManifest: clientReferenceManifest,
1441
+ nonce: nonce
1442
+ }),
1443
+ streamOptions: {
1444
+ nonce,
1445
+ // Include hydration scripts in the HTML
1446
+ bootstrapScripts: [
1447
+ errorBootstrapScript
1448
+ ],
1449
+ formState
1450
+ }
1451
+ });
1452
+ /**
1453
+ * Rules of Static & Dynamic HTML:
1454
+ *
1455
+ * 1.) We must generate static HTML unless the caller explicitly opts
1456
+ * in to dynamic HTML support.
1457
+ *
1458
+ * 2.) If dynamic HTML support is requested, we must honor that request
1459
+ * or throw an error. It is the sole responsibility of the caller to
1460
+ * ensure they aren't e.g. requesting dynamic HTML for an AMP page.
1461
+ * 3.) If `shouldWaitOnAllReady` is true, which indicates we need to
1462
+ * resolve all suspenses and generate a full HTML. e.g. when it's a
1463
+ * html limited bot requests, we produce the full HTML content.
1464
+ *
1465
+ * These rules help ensure that other existing features like request caching,
1466
+ * coalescing, and ISR continue working as intended.
1467
+ */ const generateStaticHTML = supportsDynamicResponse !== true || !!shouldWaitOnAllReady;
1468
+ return await (0, _nodewebstreamshelper.continueFizzStream)(fizzStream, {
1469
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(// This is intentionally using the readable datastream from the
1470
+ // main render rather than the flight data from the error page
1471
+ // render
1472
+ reactServerResult.consume(), nonce, formState),
1473
+ isStaticGeneration: generateStaticHTML,
1474
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
1475
+ buildId: ctx.workStore.buildId,
1476
+ getServerInsertedHTML: (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
1477
+ polyfills,
1478
+ renderServerInsertedHTML,
1479
+ serverCapturedErrors: [],
1480
+ basePath,
1481
+ tracingMetadata: tracingMetadata
1482
+ }),
1483
+ getServerInsertedMetadata,
1484
+ validateRootLayout: dev
1485
+ });
1486
+ } catch (finalErr) {
1487
+ if (process.env.NODE_ENV === 'development' && (0, _httpaccessfallback.isHTTPAccessFallbackError)(finalErr)) {
1488
+ const { bailOnRootNotFound } = require('../../client/components/dev-root-http-access-fallback-boundary');
1489
+ bailOnRootNotFound();
1490
+ }
1491
+ throw finalErr;
1492
+ }
1493
+ }
1494
+ }
1495
+ function createValidationOutlet() {
1496
+ let resolveValidation;
1497
+ let outlet = new Promise((resolve)=>{
1498
+ resolveValidation = resolve;
1499
+ });
1500
+ return [
1501
+ resolveValidation,
1502
+ outlet
1503
+ ];
1504
+ }
1505
+ /**
1506
+ * This function is a fork of prerenderToStream cacheComponents branch.
1507
+ * While it doesn't return a stream we want it to have identical
1508
+ * prerender semantics to prerenderToStream and should update it
1509
+ * in conjunction with any changes to that function.
1510
+ */ async function spawnDynamicValidationInDev(resolveValidation, tree, ctx, isNotFound, clientReferenceManifest, requestStore, fallbackRouteParams) {
1511
+ var _requestStore_cookies_get;
1512
+ const { componentMod: ComponentMod, getDynamicParamFromSegment, implicitTags, nonce, renderOpts, workStore } = ctx;
1513
+ const { allowEmptyStaticShell = false } = renderOpts;
1514
+ // These values are placeholder values for this validating render
1515
+ // that are provided during the actual prerenderToStream.
1516
+ const preinitScripts = ()=>{};
1517
+ const { ServerInsertedHTMLProvider } = (0, _serverinsertedhtml.createServerInsertedHTML)();
1518
+ const rootParams = (0, _createcomponenttree.getRootParams)(ComponentMod.tree, getDynamicParamFromSegment);
1519
+ const hmrRefreshHash = (_requestStore_cookies_get = requestStore.cookies.get(_approuterheaders.NEXT_HMR_REFRESH_HASH_COOKIE)) == null ? void 0 : _requestStore_cookies_get.value;
1520
+ // The prerender controller represents the lifetime of the prerender. It will
1521
+ // be aborted when a task is complete or a synchronously aborting API is
1522
+ // called. Notably, during prospective prerenders, this does not actually
1523
+ // terminate the prerender itself, which will continue until all caches are
1524
+ // filled.
1525
+ const initialServerPrerenderController = new AbortController();
1526
+ // This controller is used to abort the React prerender.
1527
+ const initialServerReactController = new AbortController();
1528
+ // This controller represents the lifetime of the React prerender. Its signal
1529
+ // can be used for any I/O operation to abort the I/O and/or to reject, when
1530
+ // prerendering aborts. This includes our own hanging promises for accessing
1531
+ // request data, and for fetch calls. It might be replaced in the future by
1532
+ // React.cacheSignal(). It's aborted after the React controller, so that no
1533
+ // pending I/O can register abort listeners that are called before React's
1534
+ // abort listener is called. This ensures that pending I/O is not rejected too
1535
+ // early when aborting the prerender. Notably, during the prospective
1536
+ // prerender, it is different from the prerender controller because we don't
1537
+ // want to end the React prerender until all caches are filled.
1538
+ const initialServerRenderController = new AbortController();
1539
+ // The cacheSignal helps us track whether caches are still filling or we are
1540
+ // ready to cut the render off.
1541
+ const cacheSignal = new _cachesignal.CacheSignal();
1542
+ const captureOwnerStackClient = _react.default.captureOwnerStack;
1543
+ const captureOwnerStackServer = ComponentMod.captureOwnerStack;
1544
+ // The resume data cache here should use a fresh instance as it's
1545
+ // performing a fresh prerender. If we get to implementing the
1546
+ // prerendering of an already prerendered page, we should use the passed
1547
+ // resume data cache instead.
1548
+ const prerenderResumeDataCache = (0, _resumedatacache.createPrerenderResumeDataCache)();
1549
+ const initialServerPayloadPrerenderStore = {
1550
+ type: 'prerender',
1551
+ phase: 'render',
1552
+ rootParams,
1553
+ fallbackRouteParams,
1554
+ implicitTags,
1555
+ // While this render signal isn't going to be used to abort a React render while getting the RSC payload
1556
+ // various request data APIs bind to this controller to reject after completion.
1557
+ renderSignal: initialServerRenderController.signal,
1558
+ // When we generate the RSC payload we might abort this controller due to sync IO
1559
+ // but we don't actually care about sync IO in this phase so we use a throw away controller
1560
+ // that isn't connected to anything
1561
+ controller: new AbortController(),
1562
+ // During the initial prerender we need to track all cache reads to ensure
1563
+ // we render long enough to fill every cache it is possible to visit during
1564
+ // the final prerender.
1565
+ cacheSignal,
1566
+ dynamicTracking: null,
1567
+ allowEmptyStaticShell,
1568
+ revalidate: _constants1.INFINITE_CACHE,
1569
+ expire: _constants1.INFINITE_CACHE,
1570
+ stale: _constants1.INFINITE_CACHE,
1571
+ tags: [
1572
+ ...implicitTags.tags
1573
+ ],
1574
+ prerenderResumeDataCache,
1575
+ renderResumeDataCache: null,
1576
+ hmrRefreshHash,
1577
+ captureOwnerStack: captureOwnerStackServer
1578
+ };
1579
+ // We're not going to use the result of this render because the only time it could be used
1580
+ // is if it completes in a microtask and that's likely very rare for any non-trivial app
1581
+ const initialServerPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialServerPayloadPrerenderStore, getRSCPayload, tree, ctx, isNotFound);
1582
+ const initialServerPrerenderStore = {
1583
+ type: 'prerender',
1584
+ phase: 'render',
1585
+ rootParams,
1586
+ fallbackRouteParams,
1587
+ implicitTags,
1588
+ renderSignal: initialServerRenderController.signal,
1589
+ controller: initialServerPrerenderController,
1590
+ // During the initial prerender we need to track all cache reads to ensure
1591
+ // we render long enough to fill every cache it is possible to visit during
1592
+ // the final prerender.
1593
+ cacheSignal,
1594
+ dynamicTracking: null,
1595
+ allowEmptyStaticShell,
1596
+ revalidate: _constants1.INFINITE_CACHE,
1597
+ expire: _constants1.INFINITE_CACHE,
1598
+ stale: _constants1.INFINITE_CACHE,
1599
+ tags: [
1600
+ ...implicitTags.tags
1601
+ ],
1602
+ prerenderResumeDataCache,
1603
+ renderResumeDataCache: null,
1604
+ hmrRefreshHash,
1605
+ captureOwnerStack: captureOwnerStackServer
1606
+ };
1607
+ const pendingInitialServerResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialServerPrerenderStore, ComponentMod.prerender, initialServerPayload, clientReferenceManifest.clientModules, {
1608
+ filterStackFrame,
1609
+ onError: (err)=>{
1610
+ const digest = (0, _createerrorhandler.getDigestForWellKnownError)(err);
1611
+ if (digest) {
1612
+ return digest;
1613
+ }
1614
+ if ((0, _reactlargeshellerror.isReactLargeShellError)(err)) {
1615
+ // TODO: Aggregate
1616
+ console.error(err);
1617
+ return undefined;
1618
+ }
1619
+ if (initialServerPrerenderController.signal.aborted) {
1620
+ // The render aborted before this error was handled which indicates
1621
+ // the error is caused by unfinished components within the render
1622
+ return;
1623
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
1624
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route);
1625
+ }
1626
+ },
1627
+ // we don't care to track postpones during the prospective render because we need
1628
+ // to always do a final render anyway
1629
+ onPostpone: undefined,
1630
+ // We don't want to stop rendering until the cacheSignal is complete so we pass
1631
+ // a different signal to this render call than is used by dynamic APIs to signify
1632
+ // transitioning out of the prerender environment
1633
+ signal: initialServerReactController.signal
1634
+ });
1635
+ // The listener to abort our own render controller must be added after React
1636
+ // has added its listener, to ensure that pending I/O is not aborted/rejected
1637
+ // too early.
1638
+ initialServerReactController.signal.addEventListener('abort', ()=>{
1639
+ initialServerRenderController.abort();
1640
+ }, {
1641
+ once: true
1642
+ });
1643
+ // Wait for all caches to be finished filling and for async imports to resolve
1644
+ (0, _trackmoduleloadingexternal.trackPendingModules)(cacheSignal);
1645
+ await cacheSignal.cacheReady();
1646
+ initialServerReactController.abort();
1647
+ // We don't need to continue the prerender process if we already
1648
+ // detected invalid dynamic usage in the initial prerender phase.
1649
+ const { invalidDynamicUsageError } = workStore;
1650
+ if (invalidDynamicUsageError) {
1651
+ resolveValidation(/*#__PURE__*/ (0, _jsxruntime.jsx)(LogSafely, {
1652
+ fn: ()=>{
1653
+ console.error(invalidDynamicUsageError);
1654
+ }
1655
+ }));
1656
+ return;
1657
+ }
1658
+ let initialServerResult;
1659
+ try {
1660
+ initialServerResult = await (0, _apprenderprerenderutils.createReactServerPrerenderResult)(pendingInitialServerResult);
1661
+ } catch (err) {
1662
+ if (initialServerReactController.signal.aborted || initialServerPrerenderController.signal.aborted) {
1663
+ // These are expected errors that might error the prerender. we ignore them.
1664
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
1665
+ // We don't normally log these errors because we are going to retry anyway but
1666
+ // it can be useful for debugging Next.js itself to get visibility here when needed
1667
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route);
1668
+ }
1669
+ }
1670
+ if (initialServerResult) {
1671
+ const initialClientPrerenderController = new AbortController();
1672
+ const initialClientReactController = new AbortController();
1673
+ const initialClientRenderController = new AbortController();
1674
+ const initialClientPrerenderStore = {
1675
+ type: 'prerender-client',
1676
+ phase: 'render',
1677
+ rootParams,
1678
+ fallbackRouteParams,
1679
+ implicitTags,
1680
+ renderSignal: initialClientRenderController.signal,
1681
+ controller: initialClientPrerenderController,
1682
+ // For HTML Generation the only cache tracked activity
1683
+ // is module loading, which has it's own cache signal
1684
+ cacheSignal: null,
1685
+ dynamicTracking: null,
1686
+ allowEmptyStaticShell,
1687
+ revalidate: _constants1.INFINITE_CACHE,
1688
+ expire: _constants1.INFINITE_CACHE,
1689
+ stale: _constants1.INFINITE_CACHE,
1690
+ tags: [
1691
+ ...implicitTags.tags
1692
+ ],
1693
+ prerenderResumeDataCache,
1694
+ renderResumeDataCache: null,
1695
+ hmrRefreshHash: undefined,
1696
+ captureOwnerStack: captureOwnerStackClient
1697
+ };
1698
+ const prerender = require('react-dom/static').prerender;
1699
+ const pendingInitialClientResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialClientPrerenderStore, prerender, /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
1700
+ reactServerStream: initialServerResult.asUnclosingStream(),
1701
+ preinitScripts: preinitScripts,
1702
+ clientReferenceManifest: clientReferenceManifest,
1703
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
1704
+ nonce: nonce
1705
+ }), {
1706
+ signal: initialClientReactController.signal,
1707
+ onError: (err)=>{
1708
+ const digest = (0, _createerrorhandler.getDigestForWellKnownError)(err);
1709
+ if (digest) {
1710
+ return digest;
1711
+ }
1712
+ if ((0, _reactlargeshellerror.isReactLargeShellError)(err)) {
1713
+ // TODO: Aggregate
1714
+ console.error(err);
1715
+ return undefined;
1716
+ }
1717
+ if (initialClientReactController.signal.aborted) {
1718
+ // These are expected errors that might error the prerender. we ignore them.
1719
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
1720
+ // We don't normally log these errors because we are going to retry anyway but
1721
+ // it can be useful for debugging Next.js itself to get visibility here when needed
1722
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route);
1723
+ }
1724
+ }
1725
+ });
1726
+ // The listener to abort our own render controller must be added after React
1727
+ // has added its listener, to ensure that pending I/O is not
1728
+ // aborted/rejected too early.
1729
+ initialClientReactController.signal.addEventListener('abort', ()=>{
1730
+ initialClientRenderController.abort();
1731
+ }, {
1732
+ once: true
1733
+ });
1734
+ pendingInitialClientResult.catch((err)=>{
1735
+ if (initialClientReactController.signal.aborted || (0, _dynamicrendering.isPrerenderInterruptedError)(err)) {
1736
+ // These are expected errors that might error the prerender. we ignore them.
1737
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
1738
+ // We don't normally log these errors because we are going to retry anyway but
1739
+ // it can be useful for debugging Next.js itself to get visibility here when needed
1740
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route);
1741
+ }
1742
+ });
1743
+ // This is mostly needed for dynamic `import()`s in client components.
1744
+ // Promises passed to client were already awaited above (assuming that they came from cached functions)
1745
+ (0, _trackmoduleloadingexternal.trackPendingModules)(cacheSignal);
1746
+ await cacheSignal.cacheReady();
1747
+ initialClientReactController.abort();
1748
+ }
1749
+ const finalServerReactController = new AbortController();
1750
+ const finalServerRenderController = new AbortController();
1751
+ const finalServerPayloadPrerenderStore = {
1752
+ type: 'prerender',
1753
+ phase: 'render',
1754
+ rootParams,
1755
+ fallbackRouteParams,
1756
+ implicitTags,
1757
+ // While this render signal isn't going to be used to abort a React render while getting the RSC payload
1758
+ // various request data APIs bind to this controller to reject after completion.
1759
+ renderSignal: finalServerRenderController.signal,
1760
+ // When we generate the RSC payload we might abort this controller due to sync IO
1761
+ // but we don't actually care about sync IO in this phase so we use a throw away controller
1762
+ // that isn't connected to anything
1763
+ controller: new AbortController(),
1764
+ // All caches we could read must already be filled so no tracking is necessary
1765
+ cacheSignal: null,
1766
+ dynamicTracking: null,
1767
+ allowEmptyStaticShell,
1768
+ revalidate: _constants1.INFINITE_CACHE,
1769
+ expire: _constants1.INFINITE_CACHE,
1770
+ stale: _constants1.INFINITE_CACHE,
1771
+ tags: [
1772
+ ...implicitTags.tags
1773
+ ],
1774
+ prerenderResumeDataCache,
1775
+ renderResumeDataCache: null,
1776
+ hmrRefreshHash,
1777
+ captureOwnerStack: captureOwnerStackServer
1778
+ };
1779
+ const finalAttemptRSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(finalServerPayloadPrerenderStore, getRSCPayload, tree, ctx, isNotFound);
1780
+ const serverDynamicTracking = (0, _dynamicrendering.createDynamicTrackingState)(false // isDebugDynamicAccesses
1781
+ );
1782
+ const finalServerPrerenderStore = {
1783
+ type: 'prerender',
1784
+ phase: 'render',
1785
+ rootParams,
1786
+ fallbackRouteParams,
1787
+ implicitTags,
1788
+ renderSignal: finalServerRenderController.signal,
1789
+ controller: finalServerReactController,
1790
+ // All caches we could read must already be filled so no tracking is necessary
1791
+ cacheSignal: null,
1792
+ dynamicTracking: serverDynamicTracking,
1793
+ allowEmptyStaticShell,
1794
+ revalidate: _constants1.INFINITE_CACHE,
1795
+ expire: _constants1.INFINITE_CACHE,
1796
+ stale: _constants1.INFINITE_CACHE,
1797
+ tags: [
1798
+ ...implicitTags.tags
1799
+ ],
1800
+ prerenderResumeDataCache,
1801
+ renderResumeDataCache: null,
1802
+ hmrRefreshHash,
1803
+ captureOwnerStack: captureOwnerStackServer
1804
+ };
1805
+ const reactServerResult = await (0, _apprenderprerenderutils.createReactServerPrerenderResult)((0, _apprenderprerenderutils.prerenderAndAbortInSequentialTasks)(async ()=>{
1806
+ const pendingPrerenderResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(// The store to scope
1807
+ finalServerPrerenderStore, // The function to run
1808
+ ComponentMod.prerender, // ... the arguments for the function to run
1809
+ finalAttemptRSCPayload, clientReferenceManifest.clientModules, {
1810
+ filterStackFrame,
1811
+ onError: (err)=>{
1812
+ if (finalServerReactController.signal.aborted && (0, _dynamicrendering.isPrerenderInterruptedError)(err)) {
1813
+ return err.digest;
1814
+ }
1815
+ if ((0, _reactlargeshellerror.isReactLargeShellError)(err)) {
1816
+ // TODO: Aggregate
1817
+ console.error(err);
1818
+ return undefined;
1819
+ }
1820
+ return (0, _createerrorhandler.getDigestForWellKnownError)(err);
1821
+ },
1822
+ signal: finalServerReactController.signal
1823
+ });
1824
+ // The listener to abort our own render controller must be added after
1825
+ // React has added its listener, to ensure that pending I/O is not
1826
+ // aborted/rejected too early.
1827
+ finalServerReactController.signal.addEventListener('abort', ()=>{
1828
+ finalServerRenderController.abort();
1829
+ }, {
1830
+ once: true
1831
+ });
1832
+ return pendingPrerenderResult;
1833
+ }, ()=>{
1834
+ finalServerReactController.abort();
1835
+ }));
1836
+ const clientDynamicTracking = (0, _dynamicrendering.createDynamicTrackingState)(false //isDebugDynamicAccesses
1837
+ );
1838
+ const finalClientReactController = new AbortController();
1839
+ const finalClientRenderController = new AbortController();
1840
+ const finalClientPrerenderStore = {
1841
+ type: 'prerender-client',
1842
+ phase: 'render',
1843
+ rootParams,
1844
+ fallbackRouteParams,
1845
+ implicitTags,
1846
+ renderSignal: finalClientRenderController.signal,
1847
+ controller: finalClientReactController,
1848
+ // No APIs require a cacheSignal through the workUnitStore during the HTML prerender
1849
+ cacheSignal: null,
1850
+ dynamicTracking: clientDynamicTracking,
1851
+ allowEmptyStaticShell,
1852
+ revalidate: _constants1.INFINITE_CACHE,
1853
+ expire: _constants1.INFINITE_CACHE,
1854
+ stale: _constants1.INFINITE_CACHE,
1855
+ tags: [
1856
+ ...implicitTags.tags
1857
+ ],
1858
+ prerenderResumeDataCache,
1859
+ renderResumeDataCache: null,
1860
+ hmrRefreshHash,
1861
+ captureOwnerStack: captureOwnerStackClient
1862
+ };
1863
+ let dynamicValidation = (0, _dynamicrendering.createDynamicValidationState)();
1864
+ try {
1865
+ const prerender = require('react-dom/static').prerender;
1866
+ let { prelude: unprocessedPrelude } = await (0, _apprenderprerenderutils.prerenderAndAbortInSequentialTasks)(()=>{
1867
+ const pendingFinalClientResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(finalClientPrerenderStore, prerender, /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
1868
+ reactServerStream: reactServerResult.asUnclosingStream(),
1869
+ preinitScripts: preinitScripts,
1870
+ clientReferenceManifest: clientReferenceManifest,
1871
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
1872
+ nonce: nonce
1873
+ }), {
1874
+ signal: finalClientReactController.signal,
1875
+ onError: (err, errorInfo)=>{
1876
+ if ((0, _dynamicrendering.isPrerenderInterruptedError)(err) || finalClientReactController.signal.aborted) {
1877
+ const componentStack = errorInfo.componentStack;
1878
+ if (typeof componentStack === 'string') {
1879
+ (0, _dynamicrendering.trackAllowedDynamicAccess)(workStore, componentStack, dynamicValidation, clientDynamicTracking);
1880
+ }
1881
+ return;
1882
+ }
1883
+ if ((0, _reactlargeshellerror.isReactLargeShellError)(err)) {
1884
+ // TODO: Aggregate
1885
+ console.error(err);
1886
+ return undefined;
1887
+ }
1888
+ return (0, _createerrorhandler.getDigestForWellKnownError)(err);
1889
+ }
1890
+ });
1891
+ // The listener to abort our own render controller must be added after
1892
+ // React has added its listener, to ensure that pending I/O is not
1893
+ // aborted/rejected too early.
1894
+ finalClientReactController.signal.addEventListener('abort', ()=>{
1895
+ finalClientRenderController.abort();
1896
+ }, {
1897
+ once: true
1898
+ });
1899
+ return pendingFinalClientResult;
1900
+ }, ()=>{
1901
+ finalClientReactController.abort();
1902
+ });
1903
+ const { preludeIsEmpty } = await (0, _apprenderprerenderutils.processPrelude)(unprocessedPrelude);
1904
+ resolveValidation(/*#__PURE__*/ (0, _jsxruntime.jsx)(LogSafely, {
1905
+ fn: _dynamicrendering.throwIfDisallowedDynamic.bind(null, workStore, preludeIsEmpty ? _dynamicrendering.PreludeState.Empty : _dynamicrendering.PreludeState.Full, dynamicValidation, serverDynamicTracking)
1906
+ }));
1907
+ } catch (thrownValue) {
1908
+ // Even if the root errors we still want to report any cache components errors
1909
+ // that were discovered before the root errored.
1910
+ let loggingFunction = _dynamicrendering.throwIfDisallowedDynamic.bind(null, workStore, _dynamicrendering.PreludeState.Errored, dynamicValidation, serverDynamicTracking);
1911
+ if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
1912
+ // We don't normally log these errors because we are going to retry anyway but
1913
+ // it can be useful for debugging Next.js itself to get visibility here when needed
1914
+ const originalLoggingFunction = loggingFunction;
1915
+ loggingFunction = ()=>{
1916
+ console.error('During dynamic validation the root of the page errored. The next logged error is the thrown value. It may be a duplicate of errors reported during the normal development mode render.');
1917
+ console.error(thrownValue);
1918
+ originalLoggingFunction();
1919
+ };
1920
+ }
1921
+ resolveValidation(/*#__PURE__*/ (0, _jsxruntime.jsx)(LogSafely, {
1922
+ fn: loggingFunction
1923
+ }));
1924
+ }
1925
+ }
1926
+ async function LogSafely({ fn }) {
1927
+ try {
1928
+ await fn();
1929
+ } catch {}
1930
+ return null;
1931
+ }
1932
+ /**
1933
+ * Determines whether we should generate static flight data.
1934
+ */ function shouldGenerateStaticFlightData(workStore) {
1935
+ const { isStaticGeneration } = workStore;
1936
+ if (!isStaticGeneration) return false;
1937
+ return true;
1938
+ }
1939
+ async function prerenderToStream(req, res, ctx, metadata, tree, fallbackRouteParams) {
1940
+ // When prerendering formState is always null. We still include it
1941
+ // because some shared APIs expect a formState value and this is slightly
1942
+ // more explicit than making it an optional function argument
1943
+ const formState = null;
1944
+ const { assetPrefix, getDynamicParamFromSegment, implicitTags, nonce, pagePath, renderOpts, workStore } = ctx;
1945
+ const { allowEmptyStaticShell = false, basePath, buildManifest, clientReferenceManifest, ComponentMod, crossOrigin, dev = false, experimental, isDebugDynamicAccesses, nextExport = false, onInstrumentationRequestError, page, reactMaxHeadersLength, subresourceIntegrityManifest } = renderOpts;
1946
+ assertClientReferenceManifest(clientReferenceManifest);
1947
+ const rootParams = (0, _createcomponenttree.getRootParams)(tree, getDynamicParamFromSegment);
1948
+ const { ServerInsertedHTMLProvider, renderServerInsertedHTML } = (0, _serverinsertedhtml.createServerInsertedHTML)();
1949
+ const getServerInsertedMetadata = (0, _createserverinsertedmetadata.createServerInsertedMetadata)(nonce);
1950
+ const tracingMetadata = (0, _utils1.getTracedMetadata)((0, _tracer.getTracer)().getTracePropagationData(), experimental.clientTraceMetadata);
1951
+ const polyfills = buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith('.js') && !polyfill.endsWith('.module.js')).map((polyfill)=>({
1952
+ src: `${assetPrefix}/_next/${polyfill}${(0, _getassetquerystring.getAssetQueryString)(ctx, false)}`,
1953
+ integrity: subresourceIntegrityManifest == null ? void 0 : subresourceIntegrityManifest[polyfill],
1954
+ crossOrigin,
1955
+ noModule: true,
1956
+ nonce
1957
+ }));
1958
+ const [preinitScripts, bootstrapScript] = (0, _requiredscripts.getRequiredScripts)(buildManifest, // Why is assetPrefix optional on renderOpts?
1959
+ // @TODO make it default empty string on renderOpts and get rid of it from ctx
1960
+ assetPrefix, crossOrigin, subresourceIntegrityManifest, (0, _getassetquerystring.getAssetQueryString)(ctx, true), nonce, page);
1961
+ const reactServerErrorsByDigest = new Map();
1962
+ // We don't report errors during prerendering through our instrumentation hooks
1963
+ const silenceLogger = !!experimental.isRoutePPREnabled;
1964
+ function onHTMLRenderRSCError(err) {
1965
+ return onInstrumentationRequestError == null ? void 0 : onInstrumentationRequestError(err, req, createErrorContext(ctx, 'react-server-components'));
1966
+ }
1967
+ const serverComponentsErrorHandler = (0, _createerrorhandler.createHTMLReactServerErrorHandler)(dev, nextExport, reactServerErrorsByDigest, silenceLogger, onHTMLRenderRSCError);
1968
+ function onHTMLRenderSSRError(err) {
1969
+ return onInstrumentationRequestError == null ? void 0 : onInstrumentationRequestError(err, req, createErrorContext(ctx, 'server-rendering'));
1970
+ }
1971
+ const allCapturedErrors = [];
1972
+ const htmlRendererErrorHandler = (0, _createerrorhandler.createHTMLErrorHandler)(dev, nextExport, reactServerErrorsByDigest, allCapturedErrors, silenceLogger, onHTMLRenderSSRError);
1973
+ let reactServerPrerenderResult = null;
1974
+ const setMetadataHeader = (name)=>{
1975
+ metadata.headers ??= {};
1976
+ metadata.headers[name] = res.getHeader(name);
1977
+ };
1978
+ const setHeader = (name, value)=>{
1979
+ res.setHeader(name, value);
1980
+ setMetadataHeader(name);
1981
+ return res;
1982
+ };
1983
+ const appendHeader = (name, value)=>{
1984
+ if (Array.isArray(value)) {
1985
+ value.forEach((item)=>{
1986
+ res.appendHeader(name, item);
1987
+ });
1988
+ } else {
1989
+ res.appendHeader(name, value);
1990
+ }
1991
+ setMetadataHeader(name);
1992
+ };
1993
+ const selectStaleTime = createSelectStaleTime(experimental);
1994
+ let prerenderStore = null;
1995
+ try {
1996
+ if (experimental.cacheComponents) {
1997
+ /**
1998
+ * cacheComponents with PPR
1999
+ *
2000
+ * The general approach is to render the RSC stream first allowing any cache reads to resolve.
2001
+ * Once we have settled all cache reads we restart the render and abort after a single Task.
2002
+ *
2003
+ * Unlike with the non PPR case we can't synchronously abort the render when a dynamic API is used
2004
+ * during the initial render because we need to ensure all caches can be filled as part of the initial Task
2005
+ * and a synchronous abort might prevent us from filling all caches.
2006
+ *
2007
+ * Once the render is complete we allow the SSR render to finish and use a combination of the postponed state
2008
+ * and the reactServerIsDynamic value to determine how to treat the resulting render
2009
+ */ // The prerender controller represents the lifetime of the prerender. It
2010
+ // will be aborted when a task is complete or a synchronously aborting API
2011
+ // is called. Notably, during prospective prerenders, this does not
2012
+ // actually terminate the prerender itself, which will continue until all
2013
+ // caches are filled.
2014
+ const initialServerPrerenderController = new AbortController();
2015
+ // This controller is used to abort the React prerender.
2016
+ const initialServerReactController = new AbortController();
2017
+ // This controller represents the lifetime of the React prerender. Its
2018
+ // signal can be used for any I/O operation to abort the I/O and/or to
2019
+ // reject, when prerendering aborts. This includes our own hanging
2020
+ // promises for accessing request data, and for fetch calls. It might be
2021
+ // replaced in the future by React.cacheSignal(). It's aborted after the
2022
+ // React controller, so that no pending I/O can register abort listeners
2023
+ // that are called before React's abort listener is called. This ensures
2024
+ // that pending I/O is not rejected too early when aborting the prerender.
2025
+ // Notably, during the prospective prerender, it is different from the
2026
+ // prerender controller because we don't want to end the React prerender
2027
+ // until all caches are filled.
2028
+ const initialServerRenderController = new AbortController();
2029
+ // The cacheSignal helps us track whether caches are still filling or we are ready
2030
+ // to cut the render off.
2031
+ const cacheSignal = new _cachesignal.CacheSignal();
2032
+ let resumeDataCache;
2033
+ let renderResumeDataCache = null;
2034
+ let prerenderResumeDataCache = null;
2035
+ if (renderOpts.renderResumeDataCache) {
2036
+ // If a prefilled immutable render resume data cache is provided, e.g.
2037
+ // when prerendering an optional fallback shell after having prerendered
2038
+ // pages with defined params, we use this instead of a prerender resume
2039
+ // data cache.
2040
+ resumeDataCache = renderResumeDataCache = renderOpts.renderResumeDataCache;
2041
+ } else {
2042
+ // Otherwise we create a new mutable prerender resume data cache.
2043
+ resumeDataCache = prerenderResumeDataCache = (0, _resumedatacache.createPrerenderResumeDataCache)();
2044
+ }
2045
+ const initialServerPayloadPrerenderStore = {
2046
+ type: 'prerender',
2047
+ phase: 'render',
2048
+ rootParams,
2049
+ fallbackRouteParams,
2050
+ implicitTags,
2051
+ // While this render signal isn't going to be used to abort a React render while getting the RSC payload
2052
+ // various request data APIs bind to this controller to reject after completion.
2053
+ renderSignal: initialServerRenderController.signal,
2054
+ // When we generate the RSC payload we might abort this controller due to sync IO
2055
+ // but we don't actually care about sync IO in this phase so we use a throw away controller
2056
+ // that isn't connected to anything
2057
+ controller: new AbortController(),
2058
+ // During the initial prerender we need to track all cache reads to ensure
2059
+ // we render long enough to fill every cache it is possible to visit during
2060
+ // the final prerender.
2061
+ cacheSignal,
2062
+ dynamicTracking: null,
2063
+ allowEmptyStaticShell,
2064
+ revalidate: _constants1.INFINITE_CACHE,
2065
+ expire: _constants1.INFINITE_CACHE,
2066
+ stale: _constants1.INFINITE_CACHE,
2067
+ tags: [
2068
+ ...implicitTags.tags
2069
+ ],
2070
+ prerenderResumeDataCache,
2071
+ renderResumeDataCache,
2072
+ hmrRefreshHash: undefined,
2073
+ captureOwnerStack: undefined
2074
+ };
2075
+ // We're not going to use the result of this render because the only time it could be used
2076
+ // is if it completes in a microtask and that's likely very rare for any non-trivial app
2077
+ const initialServerPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialServerPayloadPrerenderStore, getRSCPayload, tree, ctx, res.statusCode === 404);
2078
+ const initialServerPrerenderStore = prerenderStore = {
2079
+ type: 'prerender',
2080
+ phase: 'render',
2081
+ rootParams,
2082
+ fallbackRouteParams,
2083
+ implicitTags,
2084
+ renderSignal: initialServerRenderController.signal,
2085
+ controller: initialServerPrerenderController,
2086
+ // During the initial prerender we need to track all cache reads to ensure
2087
+ // we render long enough to fill every cache it is possible to visit during
2088
+ // the final prerender.
2089
+ cacheSignal,
2090
+ dynamicTracking: null,
2091
+ allowEmptyStaticShell,
2092
+ revalidate: _constants1.INFINITE_CACHE,
2093
+ expire: _constants1.INFINITE_CACHE,
2094
+ stale: _constants1.INFINITE_CACHE,
2095
+ tags: [
2096
+ ...implicitTags.tags
2097
+ ],
2098
+ prerenderResumeDataCache,
2099
+ renderResumeDataCache,
2100
+ hmrRefreshHash: undefined,
2101
+ captureOwnerStack: undefined
2102
+ };
2103
+ const pendingInitialServerResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialServerPrerenderStore, ComponentMod.prerender, initialServerPayload, clientReferenceManifest.clientModules, {
2104
+ filterStackFrame,
2105
+ onError: (err)=>{
2106
+ const digest = (0, _createerrorhandler.getDigestForWellKnownError)(err);
2107
+ if (digest) {
2108
+ return digest;
2109
+ }
2110
+ if ((0, _reactlargeshellerror.isReactLargeShellError)(err)) {
2111
+ // TODO: Aggregate
2112
+ console.error(err);
2113
+ return undefined;
2114
+ }
2115
+ if (initialServerPrerenderController.signal.aborted) {
2116
+ // The render aborted before this error was handled which indicates
2117
+ // the error is caused by unfinished components within the render
2118
+ return;
2119
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
2120
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route);
2121
+ }
2122
+ },
2123
+ // we don't care to track postpones during the prospective render because we need
2124
+ // to always do a final render anyway
2125
+ onPostpone: undefined,
2126
+ // We don't want to stop rendering until the cacheSignal is complete so we pass
2127
+ // a different signal to this render call than is used by dynamic APIs to signify
2128
+ // transitioning out of the prerender environment
2129
+ signal: initialServerReactController.signal
2130
+ });
2131
+ // The listener to abort our own render controller must be added after
2132
+ // React has added its listener, to ensure that pending I/O is not
2133
+ // aborted/rejected too early.
2134
+ initialServerReactController.signal.addEventListener('abort', ()=>{
2135
+ initialServerRenderController.abort();
2136
+ }, {
2137
+ once: true
2138
+ });
2139
+ // Wait for all caches to be finished filling and for async imports to resolve
2140
+ (0, _trackmoduleloadingexternal.trackPendingModules)(cacheSignal);
2141
+ await cacheSignal.cacheReady();
2142
+ initialServerReactController.abort();
2143
+ // We don't need to continue the prerender process if we already
2144
+ // detected invalid dynamic usage in the initial prerender phase.
2145
+ if (workStore.invalidDynamicUsageError) {
2146
+ (0, _dynamicrendering.logDisallowedDynamicError)(workStore, workStore.invalidDynamicUsageError);
2147
+ throw new _staticgenerationbailout.StaticGenBailoutError();
2148
+ }
2149
+ let initialServerResult;
2150
+ try {
2151
+ initialServerResult = await (0, _apprenderprerenderutils.createReactServerPrerenderResult)(pendingInitialServerResult);
2152
+ } catch (err) {
2153
+ if (initialServerReactController.signal.aborted || initialServerPrerenderController.signal.aborted) {
2154
+ // These are expected errors that might error the prerender. we ignore them.
2155
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
2156
+ // We don't normally log these errors because we are going to retry anyway but
2157
+ // it can be useful for debugging Next.js itself to get visibility here when needed
2158
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route);
2159
+ }
2160
+ }
2161
+ if (initialServerResult) {
2162
+ const initialClientPrerenderController = new AbortController();
2163
+ const initialClientReactController = new AbortController();
2164
+ const initialClientRenderController = new AbortController();
2165
+ const initialClientPrerenderStore = {
2166
+ type: 'prerender-client',
2167
+ phase: 'render',
2168
+ rootParams,
2169
+ fallbackRouteParams,
2170
+ implicitTags,
2171
+ renderSignal: initialClientRenderController.signal,
2172
+ controller: initialClientPrerenderController,
2173
+ // For HTML Generation the only cache tracked activity
2174
+ // is module loading, which has it's own cache signal
2175
+ cacheSignal: null,
2176
+ dynamicTracking: null,
2177
+ allowEmptyStaticShell,
2178
+ revalidate: _constants1.INFINITE_CACHE,
2179
+ expire: _constants1.INFINITE_CACHE,
2180
+ stale: _constants1.INFINITE_CACHE,
2181
+ tags: [
2182
+ ...implicitTags.tags
2183
+ ],
2184
+ prerenderResumeDataCache,
2185
+ renderResumeDataCache,
2186
+ hmrRefreshHash: undefined,
2187
+ captureOwnerStack: undefined
2188
+ };
2189
+ const prerender = require('react-dom/static').prerender;
2190
+ const pendingInitialClientResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialClientPrerenderStore, prerender, /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
2191
+ reactServerStream: initialServerResult.asUnclosingStream(),
2192
+ preinitScripts: preinitScripts,
2193
+ clientReferenceManifest: clientReferenceManifest,
2194
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
2195
+ nonce: nonce
2196
+ }), {
2197
+ signal: initialClientReactController.signal,
2198
+ onError: (err)=>{
2199
+ const digest = (0, _createerrorhandler.getDigestForWellKnownError)(err);
2200
+ if (digest) {
2201
+ return digest;
2202
+ }
2203
+ if ((0, _reactlargeshellerror.isReactLargeShellError)(err)) {
2204
+ // TODO: Aggregate
2205
+ console.error(err);
2206
+ return undefined;
2207
+ }
2208
+ if (initialClientReactController.signal.aborted) {
2209
+ // These are expected errors that might error the prerender. we ignore them.
2210
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
2211
+ // We don't normally log these errors because we are going to retry anyway but
2212
+ // it can be useful for debugging Next.js itself to get visibility here when needed
2213
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route);
2214
+ }
2215
+ },
2216
+ bootstrapScripts: [
2217
+ bootstrapScript
2218
+ ]
2219
+ });
2220
+ // The listener to abort our own render controller must be added after
2221
+ // React has added its listener, to ensure that pending I/O is not
2222
+ // aborted/rejected too early.
2223
+ initialClientReactController.signal.addEventListener('abort', ()=>{
2224
+ initialClientRenderController.abort();
2225
+ }, {
2226
+ once: true
2227
+ });
2228
+ pendingInitialClientResult.catch((err)=>{
2229
+ if (initialClientReactController.signal.aborted || (0, _dynamicrendering.isPrerenderInterruptedError)(err)) {
2230
+ // These are expected errors that might error the prerender. we ignore them.
2231
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
2232
+ // We don't normally log these errors because we are going to retry anyway but
2233
+ // it can be useful for debugging Next.js itself to get visibility here when needed
2234
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route);
2235
+ }
2236
+ });
2237
+ // This is mostly needed for dynamic `import()`s in client components.
2238
+ // Promises passed to client were already awaited above (assuming that they came from cached functions)
2239
+ (0, _trackmoduleloadingexternal.trackPendingModules)(cacheSignal);
2240
+ await cacheSignal.cacheReady();
2241
+ initialClientReactController.abort();
2242
+ }
2243
+ const finalServerReactController = new AbortController();
2244
+ const finalServerRenderController = new AbortController();
2245
+ const finalServerPayloadPrerenderStore = {
2246
+ type: 'prerender',
2247
+ phase: 'render',
2248
+ rootParams,
2249
+ fallbackRouteParams,
2250
+ implicitTags,
2251
+ // While this render signal isn't going to be used to abort a React render while getting the RSC payload
2252
+ // various request data APIs bind to this controller to reject after completion.
2253
+ renderSignal: finalServerRenderController.signal,
2254
+ // When we generate the RSC payload we might abort this controller due to sync IO
2255
+ // but we don't actually care about sync IO in this phase so we use a throw away controller
2256
+ // that isn't connected to anything
2257
+ controller: new AbortController(),
2258
+ // All caches we could read must already be filled so no tracking is necessary
2259
+ cacheSignal: null,
2260
+ dynamicTracking: null,
2261
+ allowEmptyStaticShell,
2262
+ revalidate: _constants1.INFINITE_CACHE,
2263
+ expire: _constants1.INFINITE_CACHE,
2264
+ stale: _constants1.INFINITE_CACHE,
2265
+ tags: [
2266
+ ...implicitTags.tags
2267
+ ],
2268
+ prerenderResumeDataCache,
2269
+ renderResumeDataCache,
2270
+ hmrRefreshHash: undefined,
2271
+ captureOwnerStack: undefined
2272
+ };
2273
+ const finalAttemptRSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(finalServerPayloadPrerenderStore, getRSCPayload, tree, ctx, res.statusCode === 404);
2274
+ const serverDynamicTracking = (0, _dynamicrendering.createDynamicTrackingState)(isDebugDynamicAccesses);
2275
+ let serverIsDynamic = false;
2276
+ const finalServerPrerenderStore = prerenderStore = {
2277
+ type: 'prerender',
2278
+ phase: 'render',
2279
+ rootParams,
2280
+ fallbackRouteParams,
2281
+ implicitTags,
2282
+ renderSignal: finalServerRenderController.signal,
2283
+ controller: finalServerReactController,
2284
+ // All caches we could read must already be filled so no tracking is necessary
2285
+ cacheSignal: null,
2286
+ dynamicTracking: serverDynamicTracking,
2287
+ allowEmptyStaticShell,
2288
+ revalidate: _constants1.INFINITE_CACHE,
2289
+ expire: _constants1.INFINITE_CACHE,
2290
+ stale: _constants1.INFINITE_CACHE,
2291
+ tags: [
2292
+ ...implicitTags.tags
2293
+ ],
2294
+ prerenderResumeDataCache,
2295
+ renderResumeDataCache,
2296
+ hmrRefreshHash: undefined,
2297
+ captureOwnerStack: undefined
2298
+ };
2299
+ let prerenderIsPending = true;
2300
+ const reactServerResult = reactServerPrerenderResult = await (0, _apprenderprerenderutils.createReactServerPrerenderResult)((0, _apprenderprerenderutils.prerenderAndAbortInSequentialTasks)(async ()=>{
2301
+ const pendingPrerenderResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(// The store to scope
2302
+ finalServerPrerenderStore, // The function to run
2303
+ ComponentMod.prerender, // ... the arguments for the function to run
2304
+ finalAttemptRSCPayload, clientReferenceManifest.clientModules, {
2305
+ filterStackFrame,
2306
+ onError: (err)=>{
2307
+ return serverComponentsErrorHandler(err);
2308
+ },
2309
+ signal: finalServerReactController.signal
2310
+ });
2311
+ // The listener to abort our own render controller must be added
2312
+ // after React has added its listener, to ensure that pending I/O
2313
+ // is not aborted/rejected too early.
2314
+ finalServerReactController.signal.addEventListener('abort', ()=>{
2315
+ finalServerRenderController.abort();
2316
+ }, {
2317
+ once: true
2318
+ });
2319
+ const prerenderResult = await pendingPrerenderResult;
2320
+ prerenderIsPending = false;
2321
+ return prerenderResult;
2322
+ }, ()=>{
2323
+ if (finalServerReactController.signal.aborted) {
2324
+ // If the server controller is already aborted we must have called something
2325
+ // that required aborting the prerender synchronously such as with new Date()
2326
+ serverIsDynamic = true;
2327
+ return;
2328
+ }
2329
+ if (prerenderIsPending) {
2330
+ // If prerenderIsPending then we have blocked for longer than a Task and we assume
2331
+ // there is something unfinished.
2332
+ serverIsDynamic = true;
2333
+ }
2334
+ finalServerReactController.abort();
2335
+ }));
2336
+ const clientDynamicTracking = (0, _dynamicrendering.createDynamicTrackingState)(isDebugDynamicAccesses);
2337
+ const finalClientReactController = new AbortController();
2338
+ const finalClientRenderController = new AbortController();
2339
+ const finalClientPrerenderStore = {
2340
+ type: 'prerender-client',
2341
+ phase: 'render',
2342
+ rootParams,
2343
+ fallbackRouteParams,
2344
+ implicitTags,
2345
+ renderSignal: finalClientRenderController.signal,
2346
+ controller: finalClientReactController,
2347
+ // No APIs require a cacheSignal through the workUnitStore during the HTML prerender
2348
+ cacheSignal: null,
2349
+ dynamicTracking: clientDynamicTracking,
2350
+ allowEmptyStaticShell,
2351
+ revalidate: _constants1.INFINITE_CACHE,
2352
+ expire: _constants1.INFINITE_CACHE,
2353
+ stale: _constants1.INFINITE_CACHE,
2354
+ tags: [
2355
+ ...implicitTags.tags
2356
+ ],
2357
+ prerenderResumeDataCache,
2358
+ renderResumeDataCache,
2359
+ hmrRefreshHash: undefined,
2360
+ captureOwnerStack: undefined
2361
+ };
2362
+ let dynamicValidation = (0, _dynamicrendering.createDynamicValidationState)();
2363
+ const prerender = require('react-dom/static').prerender;
2364
+ let { prelude: unprocessedPrelude, postponed } = await (0, _apprenderprerenderutils.prerenderAndAbortInSequentialTasks)(()=>{
2365
+ const pendingFinalClientResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(finalClientPrerenderStore, prerender, /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
2366
+ reactServerStream: reactServerResult.asUnclosingStream(),
2367
+ preinitScripts: preinitScripts,
2368
+ clientReferenceManifest: clientReferenceManifest,
2369
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
2370
+ nonce: nonce
2371
+ }), {
2372
+ signal: finalClientReactController.signal,
2373
+ onError: (err, errorInfo)=>{
2374
+ if ((0, _dynamicrendering.isPrerenderInterruptedError)(err) || finalClientReactController.signal.aborted) {
2375
+ const componentStack = errorInfo.componentStack;
2376
+ if (typeof componentStack === 'string') {
2377
+ (0, _dynamicrendering.trackAllowedDynamicAccess)(workStore, componentStack, dynamicValidation, clientDynamicTracking);
2378
+ }
2379
+ return;
2380
+ }
2381
+ return htmlRendererErrorHandler(err, errorInfo);
2382
+ },
2383
+ onHeaders: (headers)=>{
2384
+ headers.forEach((value, key)=>{
2385
+ appendHeader(key, value);
2386
+ });
2387
+ },
2388
+ maxHeadersLength: reactMaxHeadersLength,
2389
+ bootstrapScripts: [
2390
+ bootstrapScript
2391
+ ]
2392
+ });
2393
+ // The listener to abort our own render controller must be added
2394
+ // after React has added its listener, to ensure that pending I/O is
2395
+ // not aborted/rejected too early.
2396
+ finalClientReactController.signal.addEventListener('abort', ()=>{
2397
+ finalClientRenderController.abort();
2398
+ }, {
2399
+ once: true
2400
+ });
2401
+ return pendingFinalClientResult;
2402
+ }, ()=>{
2403
+ finalClientReactController.abort();
2404
+ });
2405
+ const { prelude, preludeIsEmpty } = await (0, _apprenderprerenderutils.processPrelude)(unprocessedPrelude);
2406
+ // If we've disabled throwing on empty static shell, then we don't need to
2407
+ // track any dynamic access that occurs above the suspense boundary because
2408
+ // we'll do so in the route shell.
2409
+ if (!allowEmptyStaticShell) {
2410
+ (0, _dynamicrendering.throwIfDisallowedDynamic)(workStore, preludeIsEmpty ? _dynamicrendering.PreludeState.Empty : _dynamicrendering.PreludeState.Full, dynamicValidation, serverDynamicTracking);
2411
+ }
2412
+ const getServerInsertedHTML = (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
2413
+ polyfills,
2414
+ renderServerInsertedHTML,
2415
+ serverCapturedErrors: allCapturedErrors,
2416
+ basePath,
2417
+ tracingMetadata: tracingMetadata
2418
+ });
2419
+ const flightData = await (0, _nodewebstreamshelper.streamToBuffer)(reactServerResult.asStream());
2420
+ metadata.flightData = flightData;
2421
+ metadata.segmentData = await collectSegmentData(flightData, finalServerPrerenderStore, ComponentMod, renderOpts);
2422
+ // If there are fallback route params, the RSC data is inherently dynamic
2423
+ // today because it's encoded into the flight router state. Until we can
2424
+ // move the fallback route params out of the flight router state, we need
2425
+ // to always perform a dynamic resume after the static prerender.
2426
+ const hasFallbackRouteParams = fallbackRouteParams && fallbackRouteParams.size > 0;
2427
+ if (serverIsDynamic || hasFallbackRouteParams) {
2428
+ // Dynamic case
2429
+ // We will always need to perform a "resume" render of some kind when this route is accessed
2430
+ // because the RSC data itself is dynamic. We determine if there are any HTML holes or not
2431
+ // but generally this is a "partial" prerender in that there will be a per-request compute
2432
+ // concatenated to the static shell.
2433
+ if (postponed != null) {
2434
+ // Dynamic HTML case
2435
+ metadata.postponed = await (0, _postponedstate.getDynamicHTMLPostponedState)(postponed, preludeIsEmpty ? _postponedstate.DynamicHTMLPreludeState.Empty : _postponedstate.DynamicHTMLPreludeState.Full, fallbackRouteParams, resumeDataCache);
2436
+ } else {
2437
+ // Dynamic Data case
2438
+ metadata.postponed = await (0, _postponedstate.getDynamicDataPostponedState)(resumeDataCache);
2439
+ }
2440
+ reactServerResult.consume();
2441
+ return {
2442
+ digestErrorsMap: reactServerErrorsByDigest,
2443
+ ssrErrors: allCapturedErrors,
2444
+ stream: await (0, _nodewebstreamshelper.continueDynamicPrerender)(prelude, {
2445
+ getServerInsertedHTML,
2446
+ getServerInsertedMetadata
2447
+ }),
2448
+ dynamicAccess: (0, _dynamicrendering.consumeDynamicAccess)(serverDynamicTracking, clientDynamicTracking),
2449
+ // TODO: Should this include the SSR pass?
2450
+ collectedRevalidate: finalServerPrerenderStore.revalidate,
2451
+ collectedExpire: finalServerPrerenderStore.expire,
2452
+ collectedStale: selectStaleTime(finalServerPrerenderStore.stale),
2453
+ collectedTags: finalServerPrerenderStore.tags,
2454
+ renderResumeDataCache: (0, _resumedatacache.createRenderResumeDataCache)(resumeDataCache)
2455
+ };
2456
+ } else {
2457
+ // Static case
2458
+ // We will not perform resumption per request. The result can be served statically to the requestor
2459
+ // and if there was anything dynamic it will only be rendered in the browser.
2460
+ if (workStore.forceDynamic) {
2461
+ throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError('Invariant: a Page with `dynamic = "force-dynamic"` did not trigger the dynamic pathway. This is a bug in Next.js'), "__NEXT_ERROR_CODE", {
2462
+ value: "E598",
2463
+ enumerable: false,
2464
+ configurable: true
2465
+ });
2466
+ }
2467
+ let htmlStream = prelude;
2468
+ if (postponed != null) {
2469
+ // We postponed but nothing dynamic was used. We resume the render now and immediately abort it
2470
+ // so we can set all the postponed boundaries to client render mode before we store the HTML response
2471
+ const resume = require('react-dom/server').resume;
2472
+ // We don't actually want to render anything so we just pass a stream
2473
+ // that never resolves. The resume call is going to abort immediately anyway
2474
+ const foreverStream = new ReadableStream();
2475
+ const resumeStream = await resume(/*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
2476
+ reactServerStream: foreverStream,
2477
+ preinitScripts: ()=>{},
2478
+ clientReferenceManifest: clientReferenceManifest,
2479
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
2480
+ nonce: nonce
2481
+ }), JSON.parse(JSON.stringify(postponed)), {
2482
+ signal: (0, _dynamicrendering.createRenderInBrowserAbortSignal)(),
2483
+ onError: htmlRendererErrorHandler,
2484
+ nonce
2485
+ });
2486
+ // First we write everything from the prerender, then we write everything from the aborted resume render
2487
+ htmlStream = (0, _nodewebstreamshelper.chainStreams)(prelude, resumeStream);
2488
+ }
2489
+ return {
2490
+ digestErrorsMap: reactServerErrorsByDigest,
2491
+ ssrErrors: allCapturedErrors,
2492
+ stream: await (0, _nodewebstreamshelper.continueStaticPrerender)(htmlStream, {
2493
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(reactServerResult.consumeAsStream(), nonce, formState),
2494
+ getServerInsertedHTML,
2495
+ getServerInsertedMetadata,
2496
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
2497
+ buildId: ctx.workStore.buildId
2498
+ }),
2499
+ dynamicAccess: (0, _dynamicrendering.consumeDynamicAccess)(serverDynamicTracking, clientDynamicTracking),
2500
+ // TODO: Should this include the SSR pass?
2501
+ collectedRevalidate: finalServerPrerenderStore.revalidate,
2502
+ collectedExpire: finalServerPrerenderStore.expire,
2503
+ collectedStale: selectStaleTime(finalServerPrerenderStore.stale),
2504
+ collectedTags: finalServerPrerenderStore.tags,
2505
+ renderResumeDataCache: (0, _resumedatacache.createRenderResumeDataCache)(resumeDataCache)
2506
+ };
2507
+ }
2508
+ } else if (experimental.isRoutePPREnabled) {
2509
+ // We're statically generating with PPR and need to do dynamic tracking
2510
+ let dynamicTracking = (0, _dynamicrendering.createDynamicTrackingState)(isDebugDynamicAccesses);
2511
+ const prerenderResumeDataCache = (0, _resumedatacache.createPrerenderResumeDataCache)();
2512
+ const reactServerPrerenderStore = prerenderStore = {
2513
+ type: 'prerender-ppr',
2514
+ phase: 'render',
2515
+ rootParams,
2516
+ fallbackRouteParams,
2517
+ implicitTags,
2518
+ dynamicTracking,
2519
+ revalidate: _constants1.INFINITE_CACHE,
2520
+ expire: _constants1.INFINITE_CACHE,
2521
+ stale: _constants1.INFINITE_CACHE,
2522
+ tags: [
2523
+ ...implicitTags.tags
2524
+ ],
2525
+ prerenderResumeDataCache
2526
+ };
2527
+ const RSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(reactServerPrerenderStore, getRSCPayload, tree, ctx, res.statusCode === 404);
2528
+ const reactServerResult = reactServerPrerenderResult = await (0, _apprenderprerenderutils.createReactServerPrerenderResultFromRender)(_workunitasyncstorageexternal.workUnitAsyncStorage.run(reactServerPrerenderStore, ComponentMod.renderToReadableStream, // ... the arguments for the function to run
2529
+ RSCPayload, clientReferenceManifest.clientModules, {
2530
+ filterStackFrame,
2531
+ onError: serverComponentsErrorHandler
2532
+ }));
2533
+ const ssrPrerenderStore = {
2534
+ type: 'prerender-ppr',
2535
+ phase: 'render',
2536
+ rootParams,
2537
+ fallbackRouteParams,
2538
+ implicitTags,
2539
+ dynamicTracking,
2540
+ revalidate: _constants1.INFINITE_CACHE,
2541
+ expire: _constants1.INFINITE_CACHE,
2542
+ stale: _constants1.INFINITE_CACHE,
2543
+ tags: [
2544
+ ...implicitTags.tags
2545
+ ],
2546
+ prerenderResumeDataCache
2547
+ };
2548
+ const prerender = require('react-dom/static').prerender;
2549
+ const { prelude: unprocessedPrelude, postponed } = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(ssrPrerenderStore, prerender, /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
2550
+ reactServerStream: reactServerResult.asUnclosingStream(),
2551
+ preinitScripts: preinitScripts,
2552
+ clientReferenceManifest: clientReferenceManifest,
2553
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
2554
+ nonce: nonce
2555
+ }), {
2556
+ onError: htmlRendererErrorHandler,
2557
+ onHeaders: (headers)=>{
2558
+ headers.forEach((value, key)=>{
2559
+ appendHeader(key, value);
2560
+ });
2561
+ },
2562
+ maxHeadersLength: reactMaxHeadersLength,
2563
+ bootstrapScripts: [
2564
+ bootstrapScript
2565
+ ]
2566
+ });
2567
+ const getServerInsertedHTML = (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
2568
+ polyfills,
2569
+ renderServerInsertedHTML,
2570
+ serverCapturedErrors: allCapturedErrors,
2571
+ basePath,
2572
+ tracingMetadata: tracingMetadata
2573
+ });
2574
+ // After awaiting here we've waited for the entire RSC render to complete. Crucially this means
2575
+ // that when we detect whether we've used dynamic APIs below we know we'll have picked up even
2576
+ // parts of the React Server render that might not be used in the SSR render.
2577
+ const flightData = await (0, _nodewebstreamshelper.streamToBuffer)(reactServerResult.asStream());
2578
+ if (shouldGenerateStaticFlightData(workStore)) {
2579
+ metadata.flightData = flightData;
2580
+ metadata.segmentData = await collectSegmentData(flightData, ssrPrerenderStore, ComponentMod, renderOpts);
2581
+ }
2582
+ const { prelude, preludeIsEmpty } = await (0, _apprenderprerenderutils.processPrelude)(unprocessedPrelude);
2583
+ /**
2584
+ * When prerendering there are three outcomes to consider
2585
+ *
2586
+ * Dynamic HTML: The prerender has dynamic holes (caused by using Next.js Dynamic Rendering APIs)
2587
+ * We will need to resume this result when requests are handled and we don't include
2588
+ * any server inserted HTML or inlined flight data in the static HTML
2589
+ *
2590
+ * Dynamic Data: The prerender has no dynamic holes but dynamic APIs were used. We will not
2591
+ * resume this render when requests are handled but we will generate new inlined
2592
+ * flight data since it is dynamic and differences may end up reconciling on the client
2593
+ *
2594
+ * Static: The prerender has no dynamic holes and no dynamic APIs were used. We statically encode
2595
+ * all server inserted HTML and flight data
2596
+ */ // First we check if we have any dynamic holes in our HTML prerender
2597
+ if ((0, _dynamicrendering.accessedDynamicData)(dynamicTracking.dynamicAccesses)) {
2598
+ if (postponed != null) {
2599
+ // Dynamic HTML case.
2600
+ metadata.postponed = await (0, _postponedstate.getDynamicHTMLPostponedState)(postponed, preludeIsEmpty ? _postponedstate.DynamicHTMLPreludeState.Empty : _postponedstate.DynamicHTMLPreludeState.Full, fallbackRouteParams, prerenderResumeDataCache);
2601
+ } else {
2602
+ // Dynamic Data case.
2603
+ metadata.postponed = await (0, _postponedstate.getDynamicDataPostponedState)(prerenderResumeDataCache);
2604
+ }
2605
+ // Regardless of whether this is the Dynamic HTML or Dynamic Data case we need to ensure we include
2606
+ // server inserted html in the static response because the html that is part of the prerender may depend on it
2607
+ // It is possible in the set of stream transforms for Dynamic HTML vs Dynamic Data may differ but currently both states
2608
+ // require the same set so we unify the code path here
2609
+ reactServerResult.consume();
2610
+ return {
2611
+ digestErrorsMap: reactServerErrorsByDigest,
2612
+ ssrErrors: allCapturedErrors,
2613
+ stream: await (0, _nodewebstreamshelper.continueDynamicPrerender)(prelude, {
2614
+ getServerInsertedHTML,
2615
+ getServerInsertedMetadata
2616
+ }),
2617
+ dynamicAccess: dynamicTracking.dynamicAccesses,
2618
+ // TODO: Should this include the SSR pass?
2619
+ collectedRevalidate: reactServerPrerenderStore.revalidate,
2620
+ collectedExpire: reactServerPrerenderStore.expire,
2621
+ collectedStale: selectStaleTime(reactServerPrerenderStore.stale),
2622
+ collectedTags: reactServerPrerenderStore.tags
2623
+ };
2624
+ } else if (fallbackRouteParams && fallbackRouteParams.size > 0) {
2625
+ // Rendering the fallback case.
2626
+ metadata.postponed = await (0, _postponedstate.getDynamicDataPostponedState)(prerenderResumeDataCache);
2627
+ return {
2628
+ digestErrorsMap: reactServerErrorsByDigest,
2629
+ ssrErrors: allCapturedErrors,
2630
+ stream: await (0, _nodewebstreamshelper.continueDynamicPrerender)(prelude, {
2631
+ getServerInsertedHTML,
2632
+ getServerInsertedMetadata
2633
+ }),
2634
+ dynamicAccess: dynamicTracking.dynamicAccesses,
2635
+ // TODO: Should this include the SSR pass?
2636
+ collectedRevalidate: reactServerPrerenderStore.revalidate,
2637
+ collectedExpire: reactServerPrerenderStore.expire,
2638
+ collectedStale: selectStaleTime(reactServerPrerenderStore.stale),
2639
+ collectedTags: reactServerPrerenderStore.tags
2640
+ };
2641
+ } else {
2642
+ // Static case
2643
+ // We still have not used any dynamic APIs. At this point we can produce an entirely static prerender response
2644
+ if (workStore.forceDynamic) {
2645
+ throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError('Invariant: a Page with `dynamic = "force-dynamic"` did not trigger the dynamic pathway. This is a bug in Next.js'), "__NEXT_ERROR_CODE", {
2646
+ value: "E598",
2647
+ enumerable: false,
2648
+ configurable: true
2649
+ });
2650
+ }
2651
+ let htmlStream = prelude;
2652
+ if (postponed != null) {
2653
+ // We postponed but nothing dynamic was used. We resume the render now and immediately abort it
2654
+ // so we can set all the postponed boundaries to client render mode before we store the HTML response
2655
+ const resume = require('react-dom/server').resume;
2656
+ // We don't actually want to render anything so we just pass a stream
2657
+ // that never resolves. The resume call is going to abort immediately anyway
2658
+ const foreverStream = new ReadableStream();
2659
+ const resumeStream = await resume(/*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
2660
+ reactServerStream: foreverStream,
2661
+ preinitScripts: ()=>{},
2662
+ clientReferenceManifest: clientReferenceManifest,
2663
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
2664
+ nonce: nonce
2665
+ }), JSON.parse(JSON.stringify(postponed)), {
2666
+ signal: (0, _dynamicrendering.createRenderInBrowserAbortSignal)(),
2667
+ onError: htmlRendererErrorHandler,
2668
+ nonce
2669
+ });
2670
+ // First we write everything from the prerender, then we write everything from the aborted resume render
2671
+ htmlStream = (0, _nodewebstreamshelper.chainStreams)(prelude, resumeStream);
2672
+ }
2673
+ return {
2674
+ digestErrorsMap: reactServerErrorsByDigest,
2675
+ ssrErrors: allCapturedErrors,
2676
+ stream: await (0, _nodewebstreamshelper.continueStaticPrerender)(htmlStream, {
2677
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(reactServerResult.consumeAsStream(), nonce, formState),
2678
+ getServerInsertedHTML,
2679
+ getServerInsertedMetadata,
2680
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
2681
+ buildId: ctx.workStore.buildId
2682
+ }),
2683
+ dynamicAccess: dynamicTracking.dynamicAccesses,
2684
+ // TODO: Should this include the SSR pass?
2685
+ collectedRevalidate: reactServerPrerenderStore.revalidate,
2686
+ collectedExpire: reactServerPrerenderStore.expire,
2687
+ collectedStale: selectStaleTime(reactServerPrerenderStore.stale),
2688
+ collectedTags: reactServerPrerenderStore.tags
2689
+ };
2690
+ }
2691
+ } else {
2692
+ const prerenderLegacyStore = prerenderStore = {
2693
+ type: 'prerender-legacy',
2694
+ phase: 'render',
2695
+ rootParams,
2696
+ implicitTags,
2697
+ revalidate: _constants1.INFINITE_CACHE,
2698
+ expire: _constants1.INFINITE_CACHE,
2699
+ stale: _constants1.INFINITE_CACHE,
2700
+ tags: [
2701
+ ...implicitTags.tags
2702
+ ]
2703
+ };
2704
+ // This is a regular static generation. We don't do dynamic tracking because we rely on
2705
+ // the old-school dynamic error handling to bail out of static generation
2706
+ const RSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderLegacyStore, getRSCPayload, tree, ctx, res.statusCode === 404);
2707
+ const reactServerResult = reactServerPrerenderResult = await (0, _apprenderprerenderutils.createReactServerPrerenderResultFromRender)(_workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderLegacyStore, ComponentMod.renderToReadableStream, RSCPayload, clientReferenceManifest.clientModules, {
2708
+ filterStackFrame,
2709
+ onError: serverComponentsErrorHandler
2710
+ }));
2711
+ const renderToReadableStream = require('react-dom/server').renderToReadableStream;
2712
+ const htmlStream = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderLegacyStore, renderToReadableStream, /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
2713
+ reactServerStream: reactServerResult.asUnclosingStream(),
2714
+ preinitScripts: preinitScripts,
2715
+ clientReferenceManifest: clientReferenceManifest,
2716
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
2717
+ nonce: nonce
2718
+ }), {
2719
+ onError: htmlRendererErrorHandler,
2720
+ nonce,
2721
+ bootstrapScripts: [
2722
+ bootstrapScript
2723
+ ]
2724
+ });
2725
+ if (shouldGenerateStaticFlightData(workStore)) {
2726
+ const flightData = await (0, _nodewebstreamshelper.streamToBuffer)(reactServerResult.asStream());
2727
+ metadata.flightData = flightData;
2728
+ metadata.segmentData = await collectSegmentData(flightData, prerenderLegacyStore, ComponentMod, renderOpts);
2729
+ }
2730
+ const getServerInsertedHTML = (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
2731
+ polyfills,
2732
+ renderServerInsertedHTML,
2733
+ serverCapturedErrors: allCapturedErrors,
2734
+ basePath,
2735
+ tracingMetadata: tracingMetadata
2736
+ });
2737
+ return {
2738
+ digestErrorsMap: reactServerErrorsByDigest,
2739
+ ssrErrors: allCapturedErrors,
2740
+ stream: await (0, _nodewebstreamshelper.continueFizzStream)(htmlStream, {
2741
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(reactServerResult.consumeAsStream(), nonce, formState),
2742
+ isStaticGeneration: true,
2743
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
2744
+ buildId: ctx.workStore.buildId,
2745
+ getServerInsertedHTML,
2746
+ getServerInsertedMetadata
2747
+ }),
2748
+ // TODO: Should this include the SSR pass?
2749
+ collectedRevalidate: prerenderLegacyStore.revalidate,
2750
+ collectedExpire: prerenderLegacyStore.expire,
2751
+ collectedStale: selectStaleTime(prerenderLegacyStore.stale),
2752
+ collectedTags: prerenderLegacyStore.tags
2753
+ };
2754
+ }
2755
+ } catch (err) {
2756
+ if ((0, _staticgenerationbailout.isStaticGenBailoutError)(err) || typeof err === 'object' && err !== null && 'message' in err && typeof err.message === 'string' && err.message.includes('https://nextjs.org/docs/advanced-features/static-html-export')) {
2757
+ // Ensure that "next dev" prints the red error overlay
2758
+ throw err;
2759
+ }
2760
+ // If this is a static generation error, we need to throw it so that it
2761
+ // can be handled by the caller if we're in static generation mode.
2762
+ if ((0, _hooksservercontext.isDynamicServerError)(err)) {
2763
+ throw err;
2764
+ }
2765
+ // If a bailout made it to this point, it means it wasn't wrapped inside
2766
+ // a suspense boundary.
2767
+ const shouldBailoutToCSR = (0, _bailouttocsr.isBailoutToCSRError)(err);
2768
+ if (shouldBailoutToCSR) {
2769
+ const stack = (0, _formatservererror.getStackWithoutErrorMessage)(err);
2770
+ (0, _log.error)(`${err.reason} should be wrapped in a suspense boundary at page "${pagePath}". Read more: https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout\n${stack}`);
2771
+ throw err;
2772
+ }
2773
+ // If we errored when we did not have an RSC stream to read from. This is
2774
+ // not just a render error, we need to throw early.
2775
+ if (reactServerPrerenderResult === null) {
2776
+ throw err;
2777
+ }
2778
+ let errorType;
2779
+ if ((0, _httpaccessfallback.isHTTPAccessFallbackError)(err)) {
2780
+ res.statusCode = (0, _httpaccessfallback.getAccessFallbackHTTPStatus)(err);
2781
+ metadata.statusCode = res.statusCode;
2782
+ errorType = (0, _httpaccessfallback.getAccessFallbackErrorTypeByStatus)(res.statusCode);
2783
+ } else if ((0, _redirecterror.isRedirectError)(err)) {
2784
+ errorType = 'redirect';
2785
+ res.statusCode = (0, _redirect.getRedirectStatusCodeFromError)(err);
2786
+ metadata.statusCode = res.statusCode;
2787
+ const redirectUrl = (0, _addpathprefix.addPathPrefix)((0, _redirect.getURLFromRedirectError)(err), basePath);
2788
+ setHeader('location', redirectUrl);
2789
+ } else if (!shouldBailoutToCSR) {
2790
+ res.statusCode = 500;
2791
+ metadata.statusCode = res.statusCode;
2792
+ }
2793
+ const [errorPreinitScripts, errorBootstrapScript] = (0, _requiredscripts.getRequiredScripts)(buildManifest, assetPrefix, crossOrigin, subresourceIntegrityManifest, (0, _getassetquerystring.getAssetQueryString)(ctx, false), nonce, '/_not-found/page');
2794
+ const prerenderLegacyStore = prerenderStore = {
2795
+ type: 'prerender-legacy',
2796
+ phase: 'render',
2797
+ rootParams,
2798
+ implicitTags: implicitTags,
2799
+ revalidate: typeof (prerenderStore == null ? void 0 : prerenderStore.revalidate) !== 'undefined' ? prerenderStore.revalidate : _constants1.INFINITE_CACHE,
2800
+ expire: typeof (prerenderStore == null ? void 0 : prerenderStore.expire) !== 'undefined' ? prerenderStore.expire : _constants1.INFINITE_CACHE,
2801
+ stale: typeof (prerenderStore == null ? void 0 : prerenderStore.stale) !== 'undefined' ? prerenderStore.stale : _constants1.INFINITE_CACHE,
2802
+ tags: [
2803
+ ...(prerenderStore == null ? void 0 : prerenderStore.tags) || implicitTags.tags
2804
+ ]
2805
+ };
2806
+ const errorRSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderLegacyStore, getErrorRSCPayload, tree, ctx, reactServerErrorsByDigest.has(err.digest) ? undefined : err, errorType);
2807
+ const errorServerStream = _workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderLegacyStore, ComponentMod.renderToReadableStream, errorRSCPayload, clientReferenceManifest.clientModules, {
2808
+ filterStackFrame,
2809
+ onError: serverComponentsErrorHandler
2810
+ });
2811
+ try {
2812
+ // TODO we should use the same prerender semantics that we initially rendered
2813
+ // with in this case too. The only reason why this is ok atm is because it's essentially
2814
+ // an empty page and no user code runs.
2815
+ const fizzStream = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderLegacyStore, _nodewebstreamshelper.renderToInitialFizzStream, {
2816
+ ReactDOMServer: require('react-dom/server'),
2817
+ element: /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorApp, {
2818
+ reactServerStream: errorServerStream,
2819
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
2820
+ preinitScripts: errorPreinitScripts,
2821
+ clientReferenceManifest: clientReferenceManifest,
2822
+ nonce: nonce
2823
+ }),
2824
+ streamOptions: {
2825
+ nonce,
2826
+ // Include hydration scripts in the HTML
2827
+ bootstrapScripts: [
2828
+ errorBootstrapScript
2829
+ ],
2830
+ formState
2831
+ }
2832
+ });
2833
+ if (shouldGenerateStaticFlightData(workStore)) {
2834
+ const flightData = await (0, _nodewebstreamshelper.streamToBuffer)(reactServerPrerenderResult.asStream());
2835
+ metadata.flightData = flightData;
2836
+ metadata.segmentData = await collectSegmentData(flightData, prerenderLegacyStore, ComponentMod, renderOpts);
2837
+ }
2838
+ // This is intentionally using the readable datastream from the main
2839
+ // render rather than the flight data from the error page render
2840
+ const flightStream = reactServerPrerenderResult.consumeAsStream();
2841
+ return {
2842
+ // Returning the error that was thrown so it can be used to handle
2843
+ // the response in the caller.
2844
+ digestErrorsMap: reactServerErrorsByDigest,
2845
+ ssrErrors: allCapturedErrors,
2846
+ stream: await (0, _nodewebstreamshelper.continueFizzStream)(fizzStream, {
2847
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(flightStream, nonce, formState),
2848
+ isStaticGeneration: true,
2849
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
2850
+ buildId: ctx.workStore.buildId,
2851
+ getServerInsertedHTML: (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
2852
+ polyfills,
2853
+ renderServerInsertedHTML,
2854
+ serverCapturedErrors: [],
2855
+ basePath,
2856
+ tracingMetadata: tracingMetadata
2857
+ }),
2858
+ getServerInsertedMetadata,
2859
+ validateRootLayout: dev
2860
+ }),
2861
+ dynamicAccess: null,
2862
+ collectedRevalidate: prerenderStore !== null ? prerenderStore.revalidate : _constants1.INFINITE_CACHE,
2863
+ collectedExpire: prerenderStore !== null ? prerenderStore.expire : _constants1.INFINITE_CACHE,
2864
+ collectedStale: selectStaleTime(prerenderStore !== null ? prerenderStore.stale : _constants1.INFINITE_CACHE),
2865
+ collectedTags: prerenderStore !== null ? prerenderStore.tags : null
2866
+ };
2867
+ } catch (finalErr) {
2868
+ if (process.env.NODE_ENV === 'development' && (0, _httpaccessfallback.isHTTPAccessFallbackError)(finalErr)) {
2869
+ const { bailOnRootNotFound } = require('../../client/components/dev-root-http-access-fallback-boundary');
2870
+ bailOnRootNotFound();
2871
+ }
2872
+ throw finalErr;
2873
+ }
2874
+ }
2875
+ }
2876
+ const getGlobalErrorStyles = async (tree, ctx)=>{
2877
+ const { modules: { 'global-error': globalErrorModule } } = (0, _parseloadertree.parseLoaderTree)(tree);
2878
+ const GlobalErrorComponent = ctx.componentMod.GlobalError;
2879
+ let globalErrorStyles;
2880
+ if (globalErrorModule) {
2881
+ const [, styles] = await (0, _createcomponentstylesandscripts.createComponentStylesAndScripts)({
2882
+ ctx,
2883
+ filePath: globalErrorModule[1],
2884
+ getComponent: globalErrorModule[0],
2885
+ injectedCSS: new Set(),
2886
+ injectedJS: new Set()
2887
+ });
2888
+ globalErrorStyles = styles;
2889
+ }
2890
+ if (ctx.renderOpts.dev) {
2891
+ const dir = (process.env.NEXT_RUNTIME === 'edge' ? process.env.__NEXT_EDGE_PROJECT_DIR : ctx.renderOpts.dir) || '';
2892
+ const globalErrorModulePath = (0, _segmentexplorerpath.normalizeConventionFilePath)(dir, globalErrorModule == null ? void 0 : globalErrorModule[1]);
2893
+ if (ctx.renderOpts.devtoolSegmentExplorer && globalErrorModulePath) {
2894
+ const SegmentViewNode = ctx.componentMod.SegmentViewNode;
2895
+ globalErrorStyles = // This will be rendered next to GlobalError component under ErrorBoundary,
2896
+ // it requires a key to avoid React warning about duplicate keys.
2897
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(SegmentViewNode, {
2898
+ type: "global-error",
2899
+ pagePath: globalErrorModulePath,
2900
+ children: globalErrorStyles
2901
+ }, "ge-svn");
2902
+ }
2903
+ }
2904
+ return {
2905
+ GlobalError: GlobalErrorComponent,
2906
+ styles: globalErrorStyles
2907
+ };
2908
+ };
2909
+ function createSelectStaleTime(experimental) {
2910
+ return (stale)=>{
2911
+ var _experimental_staleTimes;
2912
+ return stale === _constants1.INFINITE_CACHE && typeof ((_experimental_staleTimes = experimental.staleTimes) == null ? void 0 : _experimental_staleTimes.static) === 'number' ? experimental.staleTimes.static : stale;
2913
+ };
2914
+ }
2915
+ async function collectSegmentData(fullPageDataBuffer, prerenderStore, ComponentMod, renderOpts) {
2916
+ // Per-segment prefetch data
2917
+ //
2918
+ // All of the segments for a page are generated simultaneously, including
2919
+ // during revalidations. This is to ensure consistency, because it's
2920
+ // possible for a mismatch between a layout and page segment can cause the
2921
+ // client to error during rendering. We want to preserve the ability of the
2922
+ // client to recover from such a mismatch by re-requesting all the segments
2923
+ // to get a consistent view of the page.
2924
+ //
2925
+ // For performance, we reuse the Flight output that was created when
2926
+ // generating the initial page HTML. The Flight stream for the whole page is
2927
+ // decomposed into a separate stream per segment.
2928
+ const clientReferenceManifest = renderOpts.clientReferenceManifest;
2929
+ if (!clientReferenceManifest || // Do not generate per-segment data unless the experimental Segment Cache
2930
+ // flag is enabled.
2931
+ //
2932
+ // We also skip generating segment data if flag is set to "client-only",
2933
+ // rather than true. (The "client-only" option only affects the behavior of
2934
+ // the client-side implementation; per-segment prefetches are intentionally
2935
+ // disabled in that configuration).
2936
+ renderOpts.experimental.clientSegmentCache !== true) {
2937
+ return;
2938
+ }
2939
+ // Manifest passed to the Flight client for reading the full-page Flight
2940
+ // stream. Based off similar code in use-cache-wrapper.ts.
2941
+ const isEdgeRuntime = process.env.NEXT_RUNTIME === 'edge';
2942
+ const serverConsumerManifest = {
2943
+ // moduleLoading must be null because we don't want to trigger preloads of ClientReferences
2944
+ // to be added to the consumer. Instead, we'll wait for any ClientReference to be emitted
2945
+ // which themselves will handle the preloading.
2946
+ moduleLoading: null,
2947
+ moduleMap: isEdgeRuntime ? clientReferenceManifest.edgeRscModuleMapping : clientReferenceManifest.rscModuleMapping,
2948
+ serverModuleMap: (0, _encryptionutils.getServerModuleMap)()
2949
+ };
2950
+ const staleTime = prerenderStore.stale;
2951
+ return await ComponentMod.collectSegmentData(renderOpts.experimental.clientParamParsing, fullPageDataBuffer, staleTime, clientReferenceManifest.clientModules, serverConsumerManifest);
2952
+ }
2953
+
2954
+ //# sourceMappingURL=app-render.js.map