failproofai 0.0.10 → 0.0.11-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +7 -7
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +4 -4
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js +4 -4
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +4 -4
- package/.next/standalone/.next/server/app/_not-found/page/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +4 -4
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/page/build-manifest.json +4 -4
- package/.next/standalone/.next/server/app/page/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js +4 -4
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/build-manifest.json +4 -4
- package/.next/standalone/.next/server/app/policies/page/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js +4 -4
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +4 -4
- package/.next/standalone/.next/server/app/project/[name]/page/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js +4 -4
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +4 -4
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +4 -4
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/build-manifest.json +4 -4
- package/.next/standalone/.next/server/app/projects/page/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js +4 -4
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d_ob4n._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__044xt9.._.js → [root-of-the-server]__0fwb7ao._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g48iv.._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0j8-xkl._.js +1 -1
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0bdfoky.js +1 -1
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_05pz9._._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0-wn51s._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__098zro9._.js +19 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ye1w50._.js → [root-of-the-server]__09i-rsi._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__02r.cjq._.js → [root-of-the-server]__09v.ljl._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0agrcb8._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b7hkr~._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ehh6vp._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g8l0tu._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0j4l6hl._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0lp08ll._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n0yaqw._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0o21f.o._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t8juvy._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__10xgshr._.js → [root-of-the-server]__0tcyn68._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0podumr._.js → [root-of-the-server]__0uylufv._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ymlddl._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~03grs._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0l6swv1._.js → [root-of-the-server]__101v4_7._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12y7xmt._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/lib_utils_ts_068jk73._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0ttbz1~._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_06u0kr8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0a_7sdg.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ef3uwk.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j79~gv.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pbja1x.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0r6o0i2.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11y81~_.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12or2kf.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.js +1 -1
- package/.next/standalone/.next/server/functions-config-manifest.json +2 -2
- package/.next/standalone/.next/server/middleware-build-manifest.js +7 -7
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +6 -6
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{0ml1.ck_5t36i.js → 03xhjwk6zhi8f.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0pkl..xgo-qox.js → 07kfzzinhsl7e.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0lt8ko3lw.5yt.js → 0_vk1wsgf~q3o.js} +1 -1
- package/.next/standalone/.next/static/chunks/0a40sy4tk8ioe.js +1 -0
- package/.next/standalone/.next/static/chunks/0f5p9plm.aqlp.css +2 -0
- package/.next/standalone/.next/static/chunks/0ffvlbgzgnlw7.js +2 -0
- package/.next/standalone/.next/static/chunks/{150i0n26fnvso.js → 0n1n67imq.udf.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0kqar56yl~41o.js → 0wq808vlc8l04.js} +2 -2
- package/.next/standalone/.next/static/chunks/{179yytvmam0ug.js → 0wtiofzdt-l2u.js} +1 -1
- package/.next/standalone/.next/static/chunks/{12l2t63hkyo2q.js → 0zg~cpc5ysg6d.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0j171xiqge4rv.js → 13-bt.3~irg00.js} +1 -1
- package/.next/standalone/.next/static/chunks/{14lii11wmo450.js → 16vev.do1oho7.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0rnqmir4cd5p9.js → 17mubwtqwijpu.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-05z7a19q43zfq.js → turbopack-0nh.aopesgj~5.js} +1 -1
- package/.next/standalone/.next/static/media/4fa387ec64143e14-s.0.qu-9752pffj.woff2 +0 -0
- package/.next/standalone/.next/static/media/5ce348bf30bf5439-s.0ee55_hj9qcer.woff2 +0 -0
- package/.next/standalone/.next/static/media/6306c77e7c8268e4-s.0mao5jbfbduzp.woff2 +0 -0
- package/.next/standalone/.next/static/media/797e433ab948586e-s.p.09zddjkbdep5a.woff2 +0 -0
- package/.next/standalone/.next/static/media/7d817b4c03b0c5f1-s.0uzt.a6d44yda.woff2 +0 -0
- package/.next/standalone/.next/static/media/bbc41e54d2fcbd21-s.0mvwgmnhv29no.woff2 +0 -0
- package/.next/standalone/.next/static/{dAuQps6jUwCz9X1Q5FFOO → s5Nn6KwDdLpPhjG3l2WNf}/_clientMiddlewareManifest.js +2 -2
- package/.next/standalone/app/policies/hooks-client.tsx +9 -1
- package/.next/standalone/components/navbar.tsx +1 -1
- package/.next/standalone/components/reach-developers.tsx +2 -2
- package/.next/standalone/node_modules/@next/env/package.json +1 -1
- package/.next/standalone/node_modules/next/dist/build/static-paths/app.js +2 -1
- package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/.next/standalone/node_modules/next/dist/build/utils.js +2 -1
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +2 -2
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +8 -2
- package/.next/standalone/node_modules/next/dist/client/route-params.js +23 -6
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +13 -13
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +11 -11
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +2 -2
- package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +10 -10
- package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/.next/standalone/node_modules/next/dist/server/app-render/action-handler.js +3 -6
- package/.next/standalone/node_modules/next/dist/server/app-render/app-render.js +62 -9
- package/.next/standalone/node_modules/next/dist/server/app-render/collect-segment-data.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/create-component-tree.js +49 -19
- package/.next/standalone/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +8 -20
- package/.next/standalone/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +8 -7
- package/.next/standalone/node_modules/next/dist/server/app-render/use-flight-response.js +2 -2
- package/.next/standalone/node_modules/next/dist/server/async-storage/work-store.js +2 -1
- package/.next/standalone/node_modules/next/dist/server/base-server.js +13 -5
- package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/dev/static-paths-worker.js +2 -1
- package/.next/standalone/node_modules/next/dist/server/image-optimizer.js +22 -2
- package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/is-rsc-request.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/lib/mock-request.js +30 -5
- package/.next/standalone/node_modules/next/dist/server/lib/patch-set-header.js +7 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-server.js +6 -3
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +18 -4
- package/.next/standalone/node_modules/next/dist/server/lib/server-ipc/utils.js +3 -1
- package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/next-server.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/request/fallback-params.js +27 -1
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/module.js +1 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/route-module.js +11 -1
- package/.next/standalone/node_modules/next/dist/server/server-utils.js +19 -2
- package/.next/standalone/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +5 -5
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/web/adapter.js +4 -1
- package/.next/standalone/node_modules/next/dist/server/web/edge-route-module-wrapper.js +2 -1
- package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
- package/.next/standalone/node_modules/next/dist/{server → shared/lib}/htmlescape.js +15 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/routes/app.js +13 -1
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +56 -10
- package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/.next/standalone/node_modules/next/package.json +15 -15
- package/.next/standalone/node_modules/react/cjs/react.development.js +1 -1
- package/.next/standalone/node_modules/react/cjs/react.production.js +1 -1
- package/.next/standalone/node_modules/react/package.json +1 -1
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +3 -3
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +3 -3
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +3 -3
- package/.next/standalone/node_modules/react-dom/cjs/react-dom.production.js +1 -1
- package/.next/standalone/node_modules/react-dom/package.json +2 -2
- package/.next/standalone/package.json +5 -5
- package/.next/standalone/proxy.ts +1 -1
- package/.next/standalone/server.js +1 -1
- package/README.md +2 -2
- package/bin/failproofai.mjs +1 -1
- package/dist/cli.mjs +5 -5
- package/package.json +5 -5
- package/scripts/launch.ts +1 -1
- package/src/hooks/builtin-policies.ts +1 -1
- package/src/hooks/policy-evaluator.ts +3 -3
- package/src/hooks/policy-registry.ts +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0609ezh._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07_-mkc._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09z7o2x._.js +0 -19
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0_sh2n0._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e9o9ri._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0logebz._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mi5ejy._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0odijkc._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rkxer-._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rl2kwi._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vg0uey._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0x5limi._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__10._f0s._.js +0 -4
- package/.next/standalone/.next/static/chunks/01q52wg_amm60.js +0 -2
- package/.next/standalone/.next/static/chunks/0zig0fh30t6ou.js +0 -1
- package/.next/standalone/.next/static/chunks/17rm86uz2nd5a.css +0 -2
- package/.next/standalone/.next/static/media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2 +0 -0
- package/.next/standalone/.next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2 +0 -0
- package/.next/standalone/.next/static/media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2 +0 -0
- /package/.next/standalone/.next/static/{dAuQps6jUwCz9X1Q5FFOO → s5Nn6KwDdLpPhjG3l2WNf}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{dAuQps6jUwCz9X1Q5FFOO → s5Nn6KwDdLpPhjG3l2WNf}/_ssgManifest.js +0 -0
|
@@ -147,10 +147,11 @@ class MockedResponse extends _stream.default.Writable {
|
|
|
147
147
|
* A list of buffers that have been written to the response.
|
|
148
148
|
*
|
|
149
149
|
* @internal - used internally by Next.js
|
|
150
|
-
*/ this.buffers = [];
|
|
150
|
+
*/ this.buffers = [], this.totalSize = 0;
|
|
151
151
|
this.statusCode = res.statusCode ?? 200;
|
|
152
152
|
this.socket = res.socket ?? null;
|
|
153
153
|
this.headers = res.headers ? (0, _utils.fromNodeOutgoingHttpHeaders)(res.headers) : new Headers();
|
|
154
|
+
this.maximumResponseBody = res.maximumResponseBody;
|
|
154
155
|
this.headPromise = new Promise((resolve)=>{
|
|
155
156
|
this.headPromiseResolve = resolve;
|
|
156
157
|
});
|
|
@@ -195,10 +196,27 @@ class MockedResponse extends _stream.default.Writable {
|
|
|
195
196
|
if (this.resWriter) {
|
|
196
197
|
return this.resWriter(chunk);
|
|
197
198
|
}
|
|
198
|
-
|
|
199
|
+
const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
200
|
+
if (this.maximumResponseBody !== undefined) {
|
|
201
|
+
this.totalSize += buffer.byteLength;
|
|
202
|
+
if (this.totalSize > this.maximumResponseBody) {
|
|
203
|
+
const error = Object.defineProperty(new Error(`Response body exceeded maximum size of ${this.maximumResponseBody} bytes`), "__NEXT_ERROR_CODE", {
|
|
204
|
+
value: "E1143",
|
|
205
|
+
enumerable: false,
|
|
206
|
+
configurable: true
|
|
207
|
+
});
|
|
208
|
+
error.code = 'ERR_MAX_BODY_SIZE_EXCEEDED';
|
|
209
|
+
this.destroy(error);
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
this.buffers.push(buffer);
|
|
199
214
|
return true;
|
|
200
215
|
}
|
|
201
216
|
end() {
|
|
217
|
+
if (this.destroyed) {
|
|
218
|
+
return this;
|
|
219
|
+
}
|
|
202
220
|
this.finished = true;
|
|
203
221
|
return super.end(...arguments);
|
|
204
222
|
}
|
|
@@ -216,7 +234,13 @@ class MockedResponse extends _stream.default.Writable {
|
|
|
216
234
|
// invoked, the 'finish' event will not be emitted.
|
|
217
235
|
//
|
|
218
236
|
// https://nodejs.org/docs/latest-v16.x/api/stream.html#writable_writechunk-encoding-callback
|
|
219
|
-
|
|
237
|
+
//
|
|
238
|
+
// If the stream was destroyed due to an error, we should propagate it
|
|
239
|
+
if (this.destroyed && this.errored) {
|
|
240
|
+
callback(this.errored);
|
|
241
|
+
} else {
|
|
242
|
+
callback();
|
|
243
|
+
}
|
|
220
244
|
}
|
|
221
245
|
writeHead(statusCode, statusMessage, headers) {
|
|
222
246
|
if (!headers && typeof statusMessage !== 'string') {
|
|
@@ -397,7 +421,7 @@ class MockedResponse extends _stream.default.Writable {
|
|
|
397
421
|
});
|
|
398
422
|
}
|
|
399
423
|
}
|
|
400
|
-
function createRequestResponseMocks({ url, headers = {}, method = 'GET', bodyReadable, resWriter, socket = null }) {
|
|
424
|
+
function createRequestResponseMocks({ url, headers = {}, method = 'GET', bodyReadable, resWriter, socket = null, maximumResponseBody }) {
|
|
401
425
|
return {
|
|
402
426
|
req: new MockedRequest({
|
|
403
427
|
url,
|
|
@@ -408,7 +432,8 @@ function createRequestResponseMocks({ url, headers = {}, method = 'GET', bodyRea
|
|
|
408
432
|
}),
|
|
409
433
|
res: new MockedResponse({
|
|
410
434
|
socket,
|
|
411
|
-
resWriter
|
|
435
|
+
resWriter,
|
|
436
|
+
maximumResponseBody
|
|
412
437
|
})
|
|
413
438
|
};
|
|
414
439
|
}
|
|
@@ -9,8 +9,15 @@ Object.defineProperty(exports, "patchSetHeaderWithCookieSupport", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _requestmeta = require("../request-meta");
|
|
12
|
+
const PATCHED_SET_HEADER = Symbol('next.patchSetHeaderWithCookieSupport');
|
|
12
13
|
function patchSetHeaderWithCookieSupport(req, res) {
|
|
14
|
+
if (res[PATCHED_SET_HEADER]) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
13
17
|
const setHeader = res.setHeader.bind(res);
|
|
18
|
+
Object.defineProperty(res, PATCHED_SET_HEADER, {
|
|
19
|
+
value: true
|
|
20
|
+
});
|
|
14
21
|
res.setHeader = (name, value)=>{
|
|
15
22
|
// When renders /_error after page is failed, it could attempt to set
|
|
16
23
|
// headers after headers.
|
|
@@ -658,7 +658,7 @@ async function initialize(opts) {
|
|
|
658
658
|
});
|
|
659
659
|
}
|
|
660
660
|
});
|
|
661
|
-
const { matchedOutput, parsedUrl } = await resolveRoutes({
|
|
661
|
+
const { finished, matchedOutput, parsedUrl, statusCode } = await resolveRoutes({
|
|
662
662
|
req,
|
|
663
663
|
res,
|
|
664
664
|
isUpgradeReq: true,
|
|
@@ -669,8 +669,11 @@ async function initialize(opts) {
|
|
|
669
669
|
if (matchedOutput) {
|
|
670
670
|
return socket.end();
|
|
671
671
|
}
|
|
672
|
-
if (parsedUrl.protocol) {
|
|
673
|
-
|
|
672
|
+
if (finished && parsedUrl.protocol) {
|
|
673
|
+
if (!statusCode) {
|
|
674
|
+
return await (0, _proxyrequest.proxyRequest)(req, socket, parsedUrl, head);
|
|
675
|
+
}
|
|
676
|
+
return socket.end();
|
|
674
677
|
}
|
|
675
678
|
// If there's no matched output, we don't handle the request as user's
|
|
676
679
|
// custom WS server may be listening on the same path.
|
|
@@ -29,6 +29,7 @@ const _removepathprefix = require("../../../shared/lib/router/utils/remove-path-
|
|
|
29
29
|
const _nextdata = require("../../normalizers/request/next-data");
|
|
30
30
|
const _basepath = require("../../normalizers/request/base-path");
|
|
31
31
|
const _requestmeta = require("../../request-meta");
|
|
32
|
+
const _isrscrequest = require("../is-rsc-request");
|
|
32
33
|
const _preparedestination = require("../../../shared/lib/router/utils/prepare-destination");
|
|
33
34
|
const _approuterheaders = require("../../../client/components/app-router-headers");
|
|
34
35
|
function _interop_require_default(obj) {
|
|
@@ -129,6 +130,10 @@ function getResolveRoutes(fsChecker, config, opts, renderServer, renderServerOpt
|
|
|
129
130
|
}
|
|
130
131
|
return pathname;
|
|
131
132
|
};
|
|
133
|
+
const setIsNextDataRequest = ()=>{
|
|
134
|
+
(0, _requestmeta.addRequestMeta)(req, 'isNextDataReq', true);
|
|
135
|
+
req.headers['x-nextjs-data'] = '1';
|
|
136
|
+
};
|
|
132
137
|
let domainLocale;
|
|
133
138
|
let defaultLocale;
|
|
134
139
|
let initialLocaleResult = undefined;
|
|
@@ -199,7 +204,7 @@ function getResolveRoutes(fsChecker, config, opts, renderServer, renderServerOpt
|
|
|
199
204
|
continue;
|
|
200
205
|
}
|
|
201
206
|
if (pageOutput && (curPathname == null ? void 0 : curPathname.startsWith('/_next/data'))) {
|
|
202
|
-
(
|
|
207
|
+
setIsNextDataRequest();
|
|
203
208
|
}
|
|
204
209
|
if (config.useFileSystemPublicRoutes || didRewrite) {
|
|
205
210
|
return pageOutput;
|
|
@@ -258,16 +263,25 @@ function getResolveRoutes(fsChecker, config, opts, renderServer, renderServerOpt
|
|
|
258
263
|
if (hadBasePath && normalizers.basePath) {
|
|
259
264
|
normalized = normalizers.basePath.normalize(normalized, true);
|
|
260
265
|
}
|
|
266
|
+
const isNextDataPath = (0, _pathhasprefix.pathHasPrefix)(normalized, '/_next/data') && normalized.endsWith('.json');
|
|
267
|
+
const hasCurrentBuildIdDataPath = normalizers.data.match(normalized);
|
|
261
268
|
let updated = false;
|
|
262
|
-
if (
|
|
269
|
+
if (hasCurrentBuildIdDataPath) {
|
|
263
270
|
updated = true;
|
|
264
|
-
(0, _requestmeta.addRequestMeta)(req, 'isNextDataReq', true);
|
|
265
271
|
normalized = normalizers.data.normalize(normalized, true);
|
|
266
272
|
}
|
|
273
|
+
if (isNextDataPath) {
|
|
274
|
+
setIsNextDataRequest();
|
|
275
|
+
}
|
|
267
276
|
if (config.i18n) {
|
|
268
277
|
const curLocaleResult = (0, _normalizelocalepath.normalizeLocalePath)(normalized, config.i18n.locales);
|
|
269
278
|
if (curLocaleResult.detectedLocale) {
|
|
270
279
|
(0, _requestmeta.addRequestMeta)(req, 'locale', curLocaleResult.detectedLocale);
|
|
280
|
+
} else if (defaultLocale && !curLocaleResult.pathname.startsWith('/_next/')) {
|
|
281
|
+
// Match normalized _next/data requests against the same
|
|
282
|
+
// locale-prefixed internal pathname shape used by direct page
|
|
283
|
+
// requests when the default locale was inferred.
|
|
284
|
+
normalized = (0, _addpathprefix.addPathPrefix)(curLocaleResult.pathname === '/' ? `/${defaultLocale}` : (0, _addpathprefix.addPathPrefix)(curLocaleResult.pathname || '', `/${defaultLocale}`));
|
|
271
285
|
}
|
|
272
286
|
}
|
|
273
287
|
// If we updated the pathname, and it had a base path, re-add the
|
|
@@ -562,7 +576,7 @@ function getResolveRoutes(fsChecker, config, opts, renderServer, renderServerOpt
|
|
|
562
576
|
const parsedDestinationOrigin = parsedDestination.origin;
|
|
563
577
|
const isAllowedOrigin = parsedDestinationOrigin ? (_config_experimental_clientParamParsingOrigins = config.experimental.clientParamParsingOrigins) == null ? void 0 : _config_experimental_clientParamParsingOrigins.some((origin)=>new RegExp(origin).test(parsedDestinationOrigin)) : false;
|
|
564
578
|
// Set the rewrite headers only if this is a RSC request.
|
|
565
|
-
if (req.headers[_approuterheaders.RSC_HEADER]
|
|
579
|
+
if ((0, _isrscrequest.isRSCRequestHeader)(req.headers[_approuterheaders.RSC_HEADER]) && (!parsedDestination.origin || isAllowedOrigin)) {
|
|
566
580
|
// We set the rewritten path and query headers on the response now
|
|
567
581
|
// that we know that the it's not an external rewrite.
|
|
568
582
|
if (parsedUrl.pathname !== parsedDestination.pathname) {
|
|
@@ -68,7 +68,9 @@ const INTERNAL_HEADERS = [
|
|
|
68
68
|
'x-middleware-next',
|
|
69
69
|
'x-now-route-matches',
|
|
70
70
|
'x-matched-path',
|
|
71
|
-
'x-
|
|
71
|
+
'x-nextjs-data',
|
|
72
|
+
'x-next-resume-state-length',
|
|
73
|
+
'next-resume'
|
|
72
74
|
];
|
|
73
75
|
const filterInternalHeaders = (headers)=>{
|
|
74
76
|
for(const header in headers){
|
|
@@ -178,7 +178,7 @@ async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup, server
|
|
|
178
178
|
async function startServer(serverOptions) {
|
|
179
179
|
const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate, serverFastRefresh } = serverOptions;
|
|
180
180
|
let { port } = serverOptions;
|
|
181
|
-
process.title = `next-server (v${"16.2.
|
|
181
|
+
process.title = `next-server (v${"16.2.6"})`;
|
|
182
182
|
let handlersReady = ()=>{};
|
|
183
183
|
let handlersError = ()=>{};
|
|
184
184
|
let handlersPromise = new Promise((resolve, reject)=>{
|
|
@@ -774,7 +774,7 @@ class NextNodeServer extends _baseserver.default {
|
|
|
774
774
|
href += `${href.includes('?') ? '&' : '?'}dpl=${dpl}`;
|
|
775
775
|
}
|
|
776
776
|
}
|
|
777
|
-
const imageUpstream = paramsResult.isAbsolute ? await fetchExternalImage(href, this.nextConfig.images.dangerouslyAllowLocalIP, this.nextConfig.images.maximumResponseBody, this.nextConfig.images.maximumRedirects) : await fetchInternalImage(href, req.originalRequest, res.originalResponse, handleInternalReq);
|
|
777
|
+
const imageUpstream = paramsResult.isAbsolute ? await fetchExternalImage(href, this.nextConfig.images.dangerouslyAllowLocalIP, this.nextConfig.images.maximumResponseBody, this.nextConfig.images.maximumRedirects) : await fetchInternalImage(href, req.originalRequest, res.originalResponse, this.nextConfig.images.maximumResponseBody, handleInternalReq);
|
|
778
778
|
return imageOptimizer(imageUpstream, paramsResult, this.nextConfig, {
|
|
779
779
|
isDev: this.dev,
|
|
780
780
|
previousCacheEntry
|
|
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
0 && (module.exports = {
|
|
6
|
+
buildDynamicSegmentPlaceholder: null,
|
|
6
7
|
createOpaqueFallbackRouteParams: null,
|
|
7
|
-
getFallbackRouteParams: null
|
|
8
|
+
getFallbackRouteParams: null,
|
|
9
|
+
getPlaceholderFallbackRouteParams: null
|
|
8
10
|
});
|
|
9
11
|
function _export(target, all) {
|
|
10
12
|
for(var name in all)Object.defineProperty(target, name, {
|
|
@@ -13,17 +15,24 @@ function _export(target, all) {
|
|
|
13
15
|
});
|
|
14
16
|
}
|
|
15
17
|
_export(exports, {
|
|
18
|
+
buildDynamicSegmentPlaceholder: function() {
|
|
19
|
+
return buildDynamicSegmentPlaceholder;
|
|
20
|
+
},
|
|
16
21
|
createOpaqueFallbackRouteParams: function() {
|
|
17
22
|
return createOpaqueFallbackRouteParams;
|
|
18
23
|
},
|
|
19
24
|
getFallbackRouteParams: function() {
|
|
20
25
|
return getFallbackRouteParams;
|
|
26
|
+
},
|
|
27
|
+
getPlaceholderFallbackRouteParams: function() {
|
|
28
|
+
return getPlaceholderFallbackRouteParams;
|
|
21
29
|
}
|
|
22
30
|
});
|
|
23
31
|
const _utils = require("../../build/static-paths/utils");
|
|
24
32
|
const _getshortdynamicparamtype = require("../app-render/get-short-dynamic-param-type");
|
|
25
33
|
const _app = require("../../shared/lib/router/routes/app");
|
|
26
34
|
const _extractpathnamerouteparamsegmentsfromloadertree = require("../../build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree");
|
|
35
|
+
const _getsegmentparam = require("../../shared/lib/router/utils/get-segment-param");
|
|
27
36
|
function createOpaqueFallbackRouteParams(fallbackRouteParams) {
|
|
28
37
|
// If there are no fallback route params, we can return early.
|
|
29
38
|
if (fallbackRouteParams.length === 0) return null;
|
|
@@ -42,6 +51,23 @@ function createOpaqueFallbackRouteParams(fallbackRouteParams) {
|
|
|
42
51
|
}
|
|
43
52
|
return keys;
|
|
44
53
|
}
|
|
54
|
+
function buildDynamicSegmentPlaceholder(param) {
|
|
55
|
+
const { repeat, optional } = (0, _getsegmentparam.getParamProperties)(param.paramType);
|
|
56
|
+
if (optional) {
|
|
57
|
+
return `[[...${param.paramName}]]`;
|
|
58
|
+
}
|
|
59
|
+
if (repeat) {
|
|
60
|
+
return `[...${param.paramName}]`;
|
|
61
|
+
}
|
|
62
|
+
return `[${param.paramName}]`;
|
|
63
|
+
}
|
|
64
|
+
function getPlaceholderFallbackRouteParams(params, fallbackRouteParams) {
|
|
65
|
+
return fallbackRouteParams.filter((param)=>{
|
|
66
|
+
const placeholder = buildDynamicSegmentPlaceholder(param);
|
|
67
|
+
const value = params == null ? void 0 : params[param.paramName];
|
|
68
|
+
return value === placeholder || Array.isArray(value) && value.length === 1 && value[0] === placeholder;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
45
71
|
function getFallbackRouteParams(page, routeModule) {
|
|
46
72
|
const route = (0, _app.parseAppRoute)(page, true);
|
|
47
73
|
// Extract the pathname-contributing segments from the loader tree. This
|
|
@@ -522,6 +522,7 @@ class AppRouteRouteModule extends _routemodule.RouteModule {
|
|
|
522
522
|
page: this.definition.page,
|
|
523
523
|
renderOpts: context.renderOpts,
|
|
524
524
|
buildId: context.sharedContext.buildId,
|
|
525
|
+
deploymentId: context.sharedContext.deploymentId,
|
|
525
526
|
previouslyRevalidatedTags: []
|
|
526
527
|
};
|
|
527
528
|
// Add the fetchCache option to the renderOpts.
|
|
@@ -21,6 +21,7 @@ const _apiutils = require("../api-utils");
|
|
|
21
21
|
const _normalizedatapath = require("../../shared/lib/page-path/normalize-data-path");
|
|
22
22
|
const _pathhasprefix = require("../../shared/lib/router/utils/path-has-prefix");
|
|
23
23
|
const _requestmeta = require("../request-meta");
|
|
24
|
+
const _patchsetheader = require("../lib/patch-set-header");
|
|
24
25
|
const _normalizepagepath = require("../../shared/lib/page-path/normalize-page-path");
|
|
25
26
|
const _ismetadataroute = require("../../lib/metadata/is-metadata-route");
|
|
26
27
|
const _incrementalcache = require("../lib/incremental-cache");
|
|
@@ -340,6 +341,9 @@ class RouteModule {
|
|
|
340
341
|
let absoluteProjectDir;
|
|
341
342
|
// edge runtime handles loading instrumentation at the edge adapter level
|
|
342
343
|
if (process.env.NEXT_RUNTIME !== 'edge') {
|
|
344
|
+
if (res) {
|
|
345
|
+
(0, _patchsetheader.patchSetHeaderWithCookieSupport)(req, res);
|
|
346
|
+
}
|
|
343
347
|
const { join, relative } = require('node:path');
|
|
344
348
|
absoluteProjectDir = join(/* turbopackIgnore: true */ process.cwd(), (0, _requestmeta.getRequestMeta)(req, 'relativeProjectDir') || this.relativeProjectDir);
|
|
345
349
|
const absoluteDistDir = (0, _requestmeta.getRequestMeta)(req, 'distDir');
|
|
@@ -478,7 +482,13 @@ class RouteModule {
|
|
|
478
482
|
}
|
|
479
483
|
}
|
|
480
484
|
serverUtils.normalizeCdnUrl(req, combinedParamKeys);
|
|
481
|
-
|
|
485
|
+
// When Next is not hosted in a single process, upstream proxies will add query values for route params that were used to match the route.
|
|
486
|
+
// Outside of that environment, there is no reason to do any normalization to honor those query values.
|
|
487
|
+
if (!(routerServerContext == null ? void 0 : routerServerContext.isWrappedByNextServer)) {
|
|
488
|
+
serverUtils.normalizeQueryParams(query, routeParamKeys);
|
|
489
|
+
} else {
|
|
490
|
+
serverUtils.filterInternalQuery(query, []);
|
|
491
|
+
}
|
|
482
492
|
serverUtils.filterInternalQuery(originalQuery, combinedParamKeys);
|
|
483
493
|
if (pageIsDynamic) {
|
|
484
494
|
const queryResult = serverUtils.normalizeDynamicRouteParams(query, true);
|
|
@@ -92,6 +92,23 @@ function interpolateDynamicPath(pathname, params, defaultRouteRegex) {
|
|
|
92
92
|
return pathname;
|
|
93
93
|
}
|
|
94
94
|
function normalizeDynamicRouteParams(query, defaultRouteRegex, defaultRouteMatches, ignoreMissingOptional) {
|
|
95
|
+
const isDefaultValueMatch = (candidateValue, defaultValue)=>{
|
|
96
|
+
if (!candidateValue) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
let normalizedCandidateValue = (0, _apppaths.normalizeRscURL)(candidateValue);
|
|
100
|
+
for(let i = 0; i < 3; i++){
|
|
101
|
+
if (normalizedCandidateValue === defaultValue) {
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
const decodedCandidateValue = (0, _decodequerypathparameter.decodeQueryPathParameter)(normalizedCandidateValue);
|
|
105
|
+
if (decodedCandidateValue === normalizedCandidateValue) {
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
normalizedCandidateValue = decodedCandidateValue;
|
|
109
|
+
}
|
|
110
|
+
return false;
|
|
111
|
+
};
|
|
95
112
|
let hasValidParams = true;
|
|
96
113
|
let params = {};
|
|
97
114
|
for (const key of Object.keys(defaultRouteRegex.groups)){
|
|
@@ -107,8 +124,8 @@ function normalizeDynamicRouteParams(query, defaultRouteRegex, defaultRouteMatch
|
|
|
107
124
|
const defaultValue = defaultRouteMatches[key];
|
|
108
125
|
const isOptional = defaultRouteRegex.groups[key].optional;
|
|
109
126
|
const isDefaultValue = Array.isArray(defaultValue) ? defaultValue.some((defaultVal)=>{
|
|
110
|
-
return Array.isArray(value) ? value.some((val)=>val
|
|
111
|
-
}) : value
|
|
127
|
+
return Array.isArray(value) ? value.some((val)=>isDefaultValueMatch(val, defaultVal)) : isDefaultValueMatch(value, defaultVal);
|
|
128
|
+
}) : Array.isArray(value) ? value.some((val)=>isDefaultValueMatch(val, defaultValue)) : isDefaultValueMatch(value, defaultValue);
|
|
112
129
|
if (isDefaultValue || typeof value === 'undefined' && !(isOptional && ignoreMissingOptional)) {
|
|
113
130
|
return {
|
|
114
131
|
params: {},
|
package/.next/standalone/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js
CHANGED
|
@@ -402,9 +402,9 @@ function createHeadInsertionTransformStream(insert) {
|
|
|
402
402
|
}
|
|
403
403
|
});
|
|
404
404
|
}
|
|
405
|
-
function createClientResumeScriptInsertionTransformStream() {
|
|
405
|
+
async function createClientResumeScriptInsertionTransformStream() {
|
|
406
406
|
const segmentPath = '/_full';
|
|
407
|
-
const cacheBustingHeader = (0, _cachebustingsearchparam.computeCacheBustingSearchParam)('1', '/_full', undefined, undefined // headers[NEXT_URL]
|
|
407
|
+
const cacheBustingHeader = await (0, _cachebustingsearchparam.computeCacheBustingSearchParam)('1', '/_full', undefined, undefined // headers[NEXT_URL]
|
|
408
408
|
);
|
|
409
409
|
const searchStr = `${_approuterheaders.NEXT_RSC_UNION_QUERY}=${cacheBustingHeader}`;
|
|
410
410
|
const NEXT_CLIENT_RESUME_SCRIPT = `<script>__NEXT_CLIENT_RESUME=fetch(location.pathname+'?${searchStr}',{credentials:'same-origin',headers:{'${_approuterheaders.RSC_HEADER}': '1','${_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER}': '1','${_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER}': '${segmentPath}'}})</script>`;
|
|
@@ -442,7 +442,7 @@ function createClientResumeScriptInsertionTransformStream() {
|
|
|
442
442
|
}
|
|
443
443
|
});
|
|
444
444
|
}
|
|
445
|
-
function createInstantTestScriptInsertionTransformStream(requestId) {
|
|
445
|
+
async function createInstantTestScriptInsertionTransformStream(requestId) {
|
|
446
446
|
// Kick off a fetch for the static RSC payload. This is the hydration
|
|
447
447
|
// source for the locked static shell — same as the __NEXT_CLIENT_RESUME
|
|
448
448
|
// fetch used for fallback routes, but with NEXT_INSTANT_PREFETCH_HEADER
|
|
@@ -452,7 +452,7 @@ function createInstantTestScriptInsertionTransformStream(requestId) {
|
|
|
452
452
|
// as the feature flag (truthy = instant test mode). The client processes
|
|
453
453
|
// this as a fallback prerender payload for hydration.
|
|
454
454
|
const segmentPath = '/_full';
|
|
455
|
-
const cacheBustingHeader = (0, _cachebustingsearchparam.computeCacheBustingSearchParam)('1', segmentPath, undefined, undefined);
|
|
455
|
+
const cacheBustingHeader = await (0, _cachebustingsearchparam.computeCacheBustingSearchParam)('1', segmentPath, undefined, undefined);
|
|
456
456
|
const searchStr = `${_approuterheaders.NEXT_RSC_UNION_QUERY}=${cacheBustingHeader}`;
|
|
457
457
|
// In dev mode, inject self.__next_r (request ID) so that HMR WebSocket
|
|
458
458
|
// and debug channel initialization don't crash. The static shell
|
|
@@ -804,7 +804,7 @@ async function continueStaticFallbackPrerender(prerenderStream, { inlinedDataStr
|
|
|
804
804
|
// Insert generated tags to head
|
|
805
805
|
createHeadInsertionTransformStream(getServerInsertedHTML),
|
|
806
806
|
// Insert the client resume script into the head
|
|
807
|
-
createClientResumeScriptInsertionTransformStream(),
|
|
807
|
+
await createClientResumeScriptInsertionTransformStream(),
|
|
808
808
|
// Transform metadata
|
|
809
809
|
createMetadataTransformStream(getServerInsertedMetadata),
|
|
810
810
|
// Insert the inlined data (Flight data, form state, etc.) stream into the HTML
|
|
@@ -842,7 +842,7 @@ async function cache(kind, id, boundArgsLength, originalFn, args) {
|
|
|
842
842
|
// safely reuse the results across builds yet. In the meantime we add the buildId to the
|
|
843
843
|
// arguments as a seed to ensure they're not reused. Remove this once Action IDs hash
|
|
844
844
|
// the implementation.
|
|
845
|
-
const buildId = workStore.buildId;
|
|
845
|
+
const buildId = workStore.deploymentId || workStore.buildId;
|
|
846
846
|
// In dev mode, when the HMR refresh hash is set, we include it in the
|
|
847
847
|
// cache key. This ensures that cache entries are not reused when server
|
|
848
848
|
// components have been edited. This is a very coarse approach. But it's
|
|
@@ -41,6 +41,7 @@ const _webonclose = require("./web-on-close");
|
|
|
41
41
|
const _getedgepreviewprops = require("./get-edge-preview-props");
|
|
42
42
|
const _builtinrequestcontext = require("../after/builtin-request-context");
|
|
43
43
|
const _implicittags = require("../lib/implicit-tags");
|
|
44
|
+
const _isrscrequest = require("../lib/is-rsc-request");
|
|
44
45
|
const _requestmeta = require("../request-meta");
|
|
45
46
|
class NextRequestHint extends _request.NextRequest {
|
|
46
47
|
constructor(params){
|
|
@@ -128,9 +129,10 @@ async function adapter(params) {
|
|
|
128
129
|
buildId = requestURL.buildId || '';
|
|
129
130
|
requestURL.buildId = '';
|
|
130
131
|
}
|
|
132
|
+
let deploymentId = process.env.NEXT_DEPLOYMENT_ID;
|
|
131
133
|
const requestHeaders = (0, _utils.fromNodeOutgoingHttpHeaders)(params.request.headers);
|
|
132
134
|
const isNextDataRequest = requestHeaders.has('x-nextjs-data');
|
|
133
|
-
const isRSCRequest = requestHeaders.get(_approuterheaders.RSC_HEADER)
|
|
135
|
+
const isRSCRequest = (0, _isrscrequest.isRSCRequestHeader)(requestHeaders.get(_approuterheaders.RSC_HEADER));
|
|
134
136
|
if (isNextDataRequest && requestURL.pathname === '/index') {
|
|
135
137
|
requestURL.pathname = '/';
|
|
136
138
|
}
|
|
@@ -249,6 +251,7 @@ async function adapter(params) {
|
|
|
249
251
|
},
|
|
250
252
|
isPrefetchRequest: request.headers.get(_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER) === '1',
|
|
251
253
|
buildId: buildId ?? '',
|
|
254
|
+
deploymentId: deploymentId ?? '',
|
|
252
255
|
previouslyRevalidatedTags: []
|
|
253
256
|
});
|
|
254
257
|
return await _workasyncstorageexternal.workAsyncStorage.run(workStore, ()=>_workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, params.handler, request, event));
|
package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js
CHANGED
|
@@ -21,7 +21,7 @@ _export(exports, {
|
|
|
21
21
|
}
|
|
22
22
|
});
|
|
23
23
|
function isStableBuild() {
|
|
24
|
-
return !"16.2.
|
|
24
|
+
return !"16.2.6"?.includes('canary') && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
|
|
25
25
|
}
|
|
26
26
|
class CanaryOnlyConfigError extends Error {
|
|
27
27
|
constructor(arg){
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
0 && (module.exports = {
|
|
8
8
|
ESCAPE_REGEX: null,
|
|
9
|
+
htmlEscapeAttributeString: null,
|
|
9
10
|
htmlEscapeJsonString: null
|
|
10
11
|
});
|
|
11
12
|
function _export(target, all) {
|
|
@@ -18,6 +19,9 @@ _export(exports, {
|
|
|
18
19
|
ESCAPE_REGEX: function() {
|
|
19
20
|
return ESCAPE_REGEX;
|
|
20
21
|
},
|
|
22
|
+
htmlEscapeAttributeString: function() {
|
|
23
|
+
return htmlEscapeAttributeString;
|
|
24
|
+
},
|
|
21
25
|
htmlEscapeJsonString: function() {
|
|
22
26
|
return htmlEscapeJsonString;
|
|
23
27
|
}
|
|
@@ -30,8 +34,19 @@ const ESCAPE_LOOKUP = {
|
|
|
30
34
|
'\u2029': '\\u2029'
|
|
31
35
|
};
|
|
32
36
|
const ESCAPE_REGEX = /[&><\u2028\u2029]/g;
|
|
37
|
+
const ATTRIBUTE_ESCAPE_LOOKUP = {
|
|
38
|
+
'&': '&',
|
|
39
|
+
'"': '"',
|
|
40
|
+
"'": ''',
|
|
41
|
+
'<': '<',
|
|
42
|
+
'>': '>'
|
|
43
|
+
};
|
|
44
|
+
const ATTRIBUTE_ESCAPE_REGEX = /[&"'<>]/g;
|
|
33
45
|
function htmlEscapeJsonString(str) {
|
|
34
46
|
return str.replace(ESCAPE_REGEX, (match)=>ESCAPE_LOOKUP[match]);
|
|
35
47
|
}
|
|
48
|
+
function htmlEscapeAttributeString(str) {
|
|
49
|
+
return str.replace(ATTRIBUTE_ESCAPE_REGEX, (match)=>ATTRIBUTE_ESCAPE_LOOKUP[match]);
|
|
50
|
+
}
|
|
36
51
|
|
|
37
52
|
//# sourceMappingURL=htmlescape.js.map
|
|
@@ -31,6 +31,17 @@ _export(exports, {
|
|
|
31
31
|
const _invarianterror = require("../../invariant-error");
|
|
32
32
|
const _getsegmentparam = require("../utils/get-segment-param");
|
|
33
33
|
const _interceptionroutes = require("../utils/interception-routes");
|
|
34
|
+
function normalizeEncodedDynamicPlaceholder(segment) {
|
|
35
|
+
if (!/%5b|%5d/i.test(segment)) {
|
|
36
|
+
return segment;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
const decodedSegment = decodeURIComponent(segment);
|
|
40
|
+
return (0, _getsegmentparam.getSegmentParam)(decodedSegment) ? decodedSegment : segment;
|
|
41
|
+
} catch {
|
|
42
|
+
return segment;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
34
45
|
function parseAppRouteSegment(segment) {
|
|
35
46
|
if (segment === '') {
|
|
36
47
|
return null;
|
|
@@ -80,8 +91,9 @@ function parseAppRoute(pathname, normalized) {
|
|
|
80
91
|
let interceptingRoute;
|
|
81
92
|
let interceptedRoute;
|
|
82
93
|
for (const segment of pathnameSegments){
|
|
94
|
+
const normalizedSegment = normalizeEncodedDynamicPlaceholder(segment);
|
|
83
95
|
// Parse the segment into an AppSegment.
|
|
84
|
-
const appSegment = parseAppRouteSegment(
|
|
96
|
+
const appSegment = parseAppRouteSegment(normalizedSegment);
|
|
85
97
|
if (!appSegment) {
|
|
86
98
|
continue;
|
|
87
99
|
}
|
|
@@ -2,23 +2,69 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
0 && (module.exports = {
|
|
6
|
+
computeCacheBustingSearchParam: null,
|
|
7
|
+
computeLegacyCacheBustingSearchParam: null
|
|
8
|
+
});
|
|
9
|
+
function _export(target, all) {
|
|
10
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: all[name]
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
_export(exports, {
|
|
16
|
+
computeCacheBustingSearchParam: function() {
|
|
8
17
|
return computeCacheBustingSearchParam;
|
|
18
|
+
},
|
|
19
|
+
computeLegacyCacheBustingSearchParam: function() {
|
|
20
|
+
return computeLegacyCacheBustingSearchParam;
|
|
9
21
|
}
|
|
10
22
|
});
|
|
11
23
|
const _hash = require("../../hash");
|
|
12
|
-
|
|
24
|
+
const CACHE_BUSTING_SEARCH_PARAM_DIGEST_BYTES = 12;
|
|
25
|
+
const textEncoder = new TextEncoder();
|
|
26
|
+
function encodeCacheBustingSearchParam(bytes) {
|
|
27
|
+
let binary = '';
|
|
28
|
+
for(let i = 0; i < bytes.length; i++){
|
|
29
|
+
binary += String.fromCharCode(bytes[i]);
|
|
30
|
+
}
|
|
31
|
+
return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
32
|
+
}
|
|
33
|
+
function normalizeCacheBustingInput(value) {
|
|
34
|
+
if (value === undefined) {
|
|
35
|
+
return '0';
|
|
36
|
+
}
|
|
37
|
+
return Array.isArray(value) ? value.join(',') : value;
|
|
38
|
+
}
|
|
39
|
+
function createCacheBustingSearchParamInput(prefetchHeader, segmentPrefetchHeader, stateTreeHeader, nextUrlHeader) {
|
|
13
40
|
if ((prefetchHeader === undefined || prefetchHeader === '0') && segmentPrefetchHeader === undefined && stateTreeHeader === undefined && nextUrlHeader === undefined) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
return [
|
|
44
|
+
prefetchHeader ?? '0',
|
|
45
|
+
normalizeCacheBustingInput(segmentPrefetchHeader),
|
|
46
|
+
normalizeCacheBustingInput(stateTreeHeader),
|
|
47
|
+
normalizeCacheBustingInput(nextUrlHeader)
|
|
48
|
+
].join(',');
|
|
49
|
+
}
|
|
50
|
+
async function computeCacheBustingSearchParamFromInput(input) {
|
|
51
|
+
// Truncate SHA-256 to 96 bits to keep `_rsc` compact
|
|
52
|
+
const digest = await globalThis.crypto.subtle.digest('SHA-256', textEncoder.encode(input));
|
|
53
|
+
return encodeCacheBustingSearchParam(new Uint8Array(digest).subarray(0, CACHE_BUSTING_SEARCH_PARAM_DIGEST_BYTES));
|
|
54
|
+
}
|
|
55
|
+
async function computeCacheBustingSearchParam(prefetchHeader, segmentPrefetchHeader, stateTreeHeader, nextUrlHeader) {
|
|
56
|
+
const input = createCacheBustingSearchParamInput(prefetchHeader, segmentPrefetchHeader, stateTreeHeader, nextUrlHeader);
|
|
57
|
+
if (input === null) {
|
|
58
|
+
return '';
|
|
59
|
+
}
|
|
60
|
+
return computeCacheBustingSearchParamFromInput(input);
|
|
61
|
+
}
|
|
62
|
+
function computeLegacyCacheBustingSearchParam(prefetchHeader, segmentPrefetchHeader, stateTreeHeader, nextUrlHeader) {
|
|
63
|
+
const input = createCacheBustingSearchParamInput(prefetchHeader, segmentPrefetchHeader, stateTreeHeader, nextUrlHeader);
|
|
64
|
+
if (input === null) {
|
|
14
65
|
return '';
|
|
15
66
|
}
|
|
16
|
-
return (0, _hash.hexHash)(
|
|
17
|
-
prefetchHeader || '0',
|
|
18
|
-
segmentPrefetchHeader || '0',
|
|
19
|
-
stateTreeHeader || '0',
|
|
20
|
-
nextUrlHeader || '0'
|
|
21
|
-
].join(','));
|
|
67
|
+
return (0, _hash.hexHash)(input);
|
|
22
68
|
}
|
|
23
69
|
|
|
24
70
|
//# sourceMappingURL=cache-busting-search-param.js.map
|
|
@@ -12,12 +12,12 @@ const EVENT_VERSION = 'NEXT_CLI_SESSION_STARTED';
|
|
|
12
12
|
function eventCliSession(nextConfig, event) {
|
|
13
13
|
var _nextConfig_experimental_staleTimes, _nextConfig_experimental_staleTimes1, _nextConfig_reactCompiler, _nextConfig_reactCompiler1;
|
|
14
14
|
// This should be an invariant, if it fails our build tooling is broken.
|
|
15
|
-
if (typeof "16.2.
|
|
15
|
+
if (typeof "16.2.6" !== 'string') {
|
|
16
16
|
return [];
|
|
17
17
|
}
|
|
18
18
|
const { images, i18n } = nextConfig || {};
|
|
19
19
|
const payload = {
|
|
20
|
-
nextVersion: "16.2.
|
|
20
|
+
nextVersion: "16.2.6",
|
|
21
21
|
nodeVersion: process.version,
|
|
22
22
|
cliCommand: event.cliCommand,
|
|
23
23
|
isSrcDir: event.isSrcDir,
|