vinext 1.3.0 → 1.4.0
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/README.md +5 -2
- package/THIRD_PARTY_LICENSES.md +47 -0
- package/dist/_virtual/_rolldown/runtime.js +4 -3
- package/dist/build/action-owner-manifest.d.ts +3 -2
- package/dist/build/action-owner-manifest.js +18 -2
- package/dist/build/app-page-static-eligibility.d.ts +17 -1
- package/dist/build/app-page-static-eligibility.js +80 -13
- package/dist/build/clean-output.d.ts +2 -1
- package/dist/build/client-build-config.d.ts +13 -3
- package/dist/build/client-build-config.js +46 -9
- package/dist/build/client-reference-async.d.ts +48 -0
- package/dist/build/client-reference-async.js +123 -0
- package/dist/build/client-reference-chunks.d.ts +32 -0
- package/dist/build/client-reference-chunks.js +111 -0
- package/dist/build/client-reference-groups.d.ts +9 -1
- package/dist/build/client-reference-groups.js +40 -2
- package/dist/build/css-url-assets.d.ts +2 -1
- package/dist/build/google-fonts/fallback-metrics.d.ts +2 -1
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +1 -0
- package/dist/build/google-fonts/find-font-files-in-css.js +17 -4
- package/dist/build/google-fonts/font-metadata.d.ts +2 -1
- package/dist/build/google-fonts/validate.d.ts +2 -1
- package/dist/build/inline-css.d.ts +2 -1
- package/dist/build/module-dependency-cache.d.ts +2 -1
- package/dist/build/next-client-runtime-manifests.d.ts +2 -1
- package/dist/build/precompress.d.ts +2 -1
- package/dist/build/precompress.js +1 -1
- package/dist/build/prerender-paths.d.ts +2 -1
- package/dist/build/prerender-phase.d.ts +2 -1
- package/dist/build/prerender-server-pool.js +1 -1
- package/dist/build/prerender.d.ts +3 -2
- package/dist/build/prerender.js +6 -5
- package/dist/build/report.d.ts +2 -15
- package/dist/build/report.js +1 -51
- package/dist/build/run-prerender.d.ts +2 -1
- package/dist/build/server-actions-encryption-key.d.ts +2 -1
- package/dist/build/ssr-manifest.js +25 -2
- package/dist/build/standalone.d.ts +2 -1
- package/dist/cache/cache-adapters-virtual.d.ts +2 -1
- package/dist/cache.js +1 -2
- package/dist/check.d.ts +2 -1
- package/dist/check.js +5 -1
- package/dist/cli-args.d.ts +2 -1
- package/dist/cli.js +5 -0
- package/dist/client/client-redirect-matcher.js +2 -1
- package/dist/client/client-redirects.d.ts +4 -3
- package/dist/client/client-redirects.js +2 -1
- package/dist/client/client-rewrites.d.ts +2 -1
- package/dist/client/dev-error-overlay-store.d.ts +2 -1
- package/dist/client/dev-error-overlay.js +1 -1
- package/dist/client/index.js +1 -2
- package/dist/client/instrumentation-client-state.js +5 -5
- package/dist/client/navigation-runtime.d.ts +16 -2
- package/dist/client/navigation-runtime.js +2 -2
- package/dist/client/pages-router-link-navigation.d.ts +2 -1
- package/dist/client/vinext-next-data.d.ts +25 -1
- package/dist/client/window-next.d.ts +2 -1
- package/dist/config/config-matchers.d.ts +12 -1
- package/dist/config/config-matchers.js +111 -16
- package/dist/config/dotenv.d.ts +2 -1
- package/dist/config/next-config.d.ts +32 -1
- package/dist/config/next-config.js +93 -5
- package/dist/config/tsconfig-paths.d.ts +2 -1
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/dbcs-codec.js +327 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/dbcs-data.js +123 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/index.js +29 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/internal.js +134 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/sbcs-codec.js +50 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/sbcs-data-generated.js +455 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/sbcs-data.js +147 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/big5-added.json.js +169 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/cp936.json.js +2584 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/cp949.json.js +2220 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/cp950.json.js +227 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/eucjp.json.js +425 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/gb18030-ranges.json.js +427 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/gbk-added.json.js +229 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/shiftjis.json.js +292 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/utf16.js +106 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/utf7.js +182 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/lib/bom-handling.js +42 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/lib/extend-node.js +147 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/lib/index.js +94 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/lib/streams.js +95 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/detector.js +23 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/index.js +2 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/lookup.js +25 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/bmp.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/cur.js +15 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/dds.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/gif.js +12 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/heif.js +55 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/icns.js +76 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/ico.js +39 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/index.js +46 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/j2c.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jp2.js +21 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jpg.js +71 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jxl-stream.js +42 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jxl.js +46 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/ktx.js +19 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/png.js +28 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/pnm.js +54 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/psd.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/svg.js +79 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/tga.js +15 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/tiff.js +96 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/utils.js +53 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/webp.js +45 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/utils/bit-reader.js +38 -0
- package/dist/deps/.pnpm/safer-buffer@2.1.2/deps/safer-buffer/safer.js +45 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +2 -2
- package/dist/entries/app-browser-entry.d.ts +20 -5
- package/dist/entries/app-browser-entry.js +79 -6
- package/dist/entries/app-rsc-entry.d.ts +2 -1
- package/dist/entries/app-rsc-entry.js +59 -60
- package/dist/entries/app-rsc-manifest.d.ts +2 -1
- package/dist/entries/app-rsc-manifest.js +56 -4
- package/dist/entries/app-ssr-entry.js +1 -0
- package/dist/entries/pages-entry-helpers.js +1 -2
- package/dist/entries/pages-server-entry.d.ts +2 -1
- package/dist/entries/pages-server-entry.js +34 -9
- package/dist/entries/runtime-entry-module.d.ts +1 -0
- package/dist/entries/runtime-entry-module.js +4 -1
- package/dist/image/image-adapters-virtual.d.ts +2 -1
- package/dist/index.js +184 -103
- package/dist/init-cloudflare.d.ts +1 -3
- package/dist/init-cloudflare.js +10 -48
- package/dist/init-platform.d.ts +2 -0
- package/dist/init-platform.js +4 -0
- package/dist/plugins/client-compile-hints.d.ts +30 -0
- package/dist/plugins/client-compile-hints.js +88 -0
- package/dist/plugins/client-reference-dedup.d.ts +2 -1
- package/dist/plugins/cloudflare-dev-module-urls.d.ts +2 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -1
- package/dist/plugins/dynamic-preload-metadata.js +1 -1
- package/dist/plugins/environment.d.ts +2 -1
- package/dist/plugins/extensionless-dynamic-import.js +6 -2
- package/dist/plugins/fonts.js +9 -12
- package/dist/plugins/ignore-dynamic-requests.d.ts +2 -1
- package/dist/plugins/import-meta-url.d.ts +2 -1
- package/dist/plugins/next-intl-catalog.d.ts +12 -0
- package/dist/plugins/next-intl-catalog.js +85 -0
- package/dist/plugins/og-assets.d.ts +2 -1
- package/dist/plugins/og-assets.js +2 -3
- package/dist/plugins/optimize-imports.d.ts +2 -1
- package/dist/plugins/pages-node-externals.d.ts +3 -1
- package/dist/plugins/pages-node-externals.js +1 -1
- package/dist/plugins/remove-console.d.ts +2 -1
- package/dist/plugins/require-condition-resolution.d.ts +2 -1
- package/dist/plugins/rsc-client-reference-loaders.d.ts +8 -0
- package/dist/plugins/rsc-client-reference-loaders.js +170 -68
- package/dist/plugins/rsc-client-shim-excludes.js +2 -0
- package/dist/plugins/sass.d.ts +2 -1
- package/dist/plugins/strip-server-exports.d.ts +2 -1
- package/dist/plugins/styled-jsx.d.ts +2 -1
- package/dist/plugins/transform-result.d.ts +2 -1
- package/dist/plugins/typeof-window.d.ts +2 -1
- package/dist/plugins/use-cache-callable.d.ts +1 -1
- package/dist/plugins/use-cache-callable.js +136 -94
- package/dist/plugins/worker-image-imports.js +1 -1
- package/dist/plugins/worker-use-server.d.ts +2 -1
- package/dist/routing/app-route-graph.d.ts +46 -0
- package/dist/routing/app-route-graph.js +131 -51
- package/dist/routing/browser-route-manifest.d.ts +2 -1
- package/dist/routing/optimistic-route-trie.d.ts +2 -1
- package/dist/routing/route-matching.d.ts +2 -1
- package/dist/routing/route-pattern.d.ts +2 -1
- package/dist/server/accept-encoding.d.ts +2 -1
- package/dist/server/api-handler.js +19 -4
- package/dist/server/app-action-forwarding.d.ts +2 -1
- package/dist/server/app-bfcache-identity.d.ts +2 -1
- package/dist/server/app-bfcache-identity.js +1 -1
- package/dist/server/app-browser-action-result.d.ts +2 -1
- package/dist/server/app-browser-entry.js +106 -66
- package/dist/server/app-browser-error.d.ts +2 -1
- package/dist/server/app-browser-history-controller.d.ts +7 -5
- package/dist/server/app-browser-history-controller.js +93 -15
- package/dist/server/app-browser-hydration.d.ts +2 -1
- package/dist/server/app-browser-interception-context.d.ts +2 -1
- package/dist/server/app-browser-navigation-controller.d.ts +2 -2
- package/dist/server/app-browser-navigation-controller.js +16 -12
- package/dist/server/app-browser-popstate.d.ts +2 -1
- package/dist/server/app-browser-rsc-redirect.d.ts +2 -1
- package/dist/server/app-browser-rsc-redirect.js +4 -4
- package/dist/server/app-browser-server-action-client.d.ts +4 -1
- package/dist/server/app-browser-server-action-client.js +4 -3
- package/dist/server/app-browser-state.d.ts +2 -4
- package/dist/server/app-browser-state.js +9 -4
- package/dist/server/app-browser-stream.d.ts +2 -1
- package/dist/server/app-browser-supplemental-refresh.js +16 -1
- package/dist/server/app-browser-visible-commit.d.ts +3 -2
- package/dist/server/app-browser-visible-commit.js +2 -12
- package/dist/server/app-client-reference-manifest.d.ts +31 -0
- package/dist/server/app-client-reference-manifest.js +46 -0
- package/dist/server/app-client-reference-preloader.d.ts +25 -5
- package/dist/server/app-client-reference-preloader.js +22 -7
- package/dist/server/app-elements-wire.d.ts +8 -39
- package/dist/server/app-elements-wire.js +4 -41
- package/dist/server/app-elements.d.ts +4 -2
- package/dist/server/app-elements.js +4 -2
- package/dist/server/app-fallback-renderer.d.ts +9 -2
- package/dist/server/app-fallback-renderer.js +4 -1
- package/dist/server/app-history-state.d.ts +4 -3
- package/dist/server/app-history-state.js +5 -2
- package/dist/server/app-inline-css-client.d.ts +2 -1
- package/dist/server/app-metadata-tracing.d.ts +2 -1
- package/dist/server/app-mounted-layouts.d.ts +21 -0
- package/dist/server/app-mounted-layouts.js +67 -0
- package/dist/server/app-optimistic-routing.d.ts +37 -2
- package/dist/server/app-optimistic-routing.js +75 -2
- package/dist/server/app-page-boundary-render.d.ts +20 -2
- package/dist/server/app-page-boundary-render.js +224 -40
- package/dist/server/app-page-boundary.d.ts +34 -5
- package/dist/server/app-page-boundary.js +41 -8
- package/dist/server/app-page-cache-finalizer.d.ts +14 -2
- package/dist/server/app-page-cache-finalizer.js +71 -30
- package/dist/server/app-page-cache-render.d.ts +10 -2
- package/dist/server/app-page-cache-render.js +14 -2
- package/dist/server/app-page-cache.d.ts +13 -1
- package/dist/server/app-page-cache.js +33 -11
- package/dist/server/app-page-dispatch.d.ts +39 -11
- package/dist/server/app-page-dispatch.js +236 -177
- package/dist/server/app-page-element-builder.d.ts +19 -3
- package/dist/server/app-page-element-builder.js +193 -71
- package/dist/server/app-page-execution.d.ts +43 -51
- package/dist/server/app-page-execution.js +205 -92
- package/dist/server/app-page-head.d.ts +108 -3
- package/dist/server/app-page-head.js +337 -154
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +49 -2
- package/dist/server/app-page-http-access-fallback-metadata.js +77 -2
- package/dist/server/app-page-layout-gate.d.ts +35 -0
- package/dist/server/app-page-layout-gate.js +50 -0
- package/dist/server/app-page-method.d.ts +2 -1
- package/dist/server/app-page-params.d.ts +0 -1
- package/dist/server/app-page-params.js +1 -14
- package/dist/server/app-page-probe.d.ts +5 -22
- package/dist/server/app-page-probe.js +4 -37
- package/dist/server/app-page-render-identity.d.ts +2 -1
- package/dist/server/app-page-render.d.ts +9 -13
- package/dist/server/app-page-render.js +108 -214
- package/dist/server/app-page-request.d.ts +15 -4
- package/dist/server/app-page-request.js +2 -2
- package/dist/server/app-page-response.js +3 -3
- package/dist/server/app-page-route-wiring.d.ts +65 -8
- package/dist/server/app-page-route-wiring.js +259 -103
- package/dist/server/app-page-rsc-render-status.d.ts +29 -2
- package/dist/server/app-page-rsc-render-status.js +121 -13
- package/dist/server/app-page-search-params-observation.d.ts +7 -2
- package/dist/server/app-page-search-params-observation.js +8 -1
- package/dist/server/app-page-segment-plan.d.ts +2 -1
- package/dist/server/app-page-stream.d.ts +33 -1
- package/dist/server/app-page-stream.js +25 -6
- package/dist/server/app-pages-bridge.d.ts +6 -1
- package/dist/server/app-pages-bridge.js +7 -3
- package/dist/server/app-ppr-fallback-shell-render.d.ts +2 -1
- package/dist/server/app-ppr-fallback-shell.d.ts +2 -1
- package/dist/server/app-prerender-endpoints.d.ts +2 -1
- package/dist/server/app-prerender-static-params.d.ts +2 -1
- package/dist/server/app-render-dependency.d.ts +21 -4
- package/dist/server/app-render-dependency.js +100 -33
- package/dist/server/app-request-stage-dispatch.js +1 -1
- package/dist/server/app-request-stage-independent-entry.d.ts +2 -1
- package/dist/server/app-response-stage-entry.d.ts +2 -1
- package/dist/server/app-route-handler-cache.d.ts +2 -1
- package/dist/server/app-route-handler-cache.js +2 -2
- package/dist/server/app-route-handler-dispatch.d.ts +2 -1
- package/dist/server/app-route-handler-dispatch.js +15 -10
- package/dist/server/app-route-handler-execution.d.ts +2 -1
- package/dist/server/app-route-handler-execution.js +8 -3
- package/dist/server/app-route-handler-policy.d.ts +1 -1
- package/dist/server/app-route-handler-policy.js +3 -3
- package/dist/server/app-route-handler-response.d.ts +2 -1
- package/dist/server/app-route-handler-response.js +1 -1
- package/dist/server/app-route-handler-runtime.d.ts +2 -1
- package/dist/server/app-route-handler-runtime.js +17 -4
- package/dist/server/app-route-module-loader.d.ts +18 -1
- package/dist/server/app-route-module-loader.js +8 -0
- package/dist/server/app-route-tree-prefetch.d.ts +2 -1
- package/dist/server/app-rsc-cache-busting.d.ts +2 -2
- package/dist/server/app-rsc-cache-busting.js +4 -4
- package/dist/server/app-rsc-error-handler.d.ts +4 -2
- package/dist/server/app-rsc-error-handler.js +9 -1
- package/dist/server/app-rsc-errors.d.ts +10 -1
- package/dist/server/app-rsc-errors.js +8 -1
- package/dist/server/app-rsc-handler.d.ts +7 -6
- package/dist/server/app-rsc-handler.js +36 -34
- package/dist/server/app-rsc-request-normalization.d.ts +0 -4
- package/dist/server/app-rsc-request-normalization.js +1 -4
- package/dist/server/app-rsc-response-finalizer.d.ts +2 -1
- package/dist/server/app-rsc-response-finalizer.js +2 -2
- package/dist/server/app-rsc-response-stage.js +5 -3
- package/dist/server/app-rsc-route-matching.d.ts +38 -1
- package/dist/server/app-rsc-route-matching.js +24 -0
- package/dist/server/app-segment-config.d.ts +2 -1
- package/dist/server/app-segment-config.js +1 -14
- package/dist/server/app-server-action-execution.d.ts +5 -2
- package/dist/server/app-server-action-execution.js +10 -7
- package/dist/server/app-ssr-entry.d.ts +8 -0
- package/dist/server/app-ssr-entry.js +98 -50
- package/dist/server/app-ssr-error-meta.d.ts +2 -1
- package/dist/server/app-ssr-search-params-gate.d.ts +2 -1
- package/dist/server/app-ssr-stream.d.ts +22 -10
- package/dist/server/app-ssr-stream.js +300 -68
- package/dist/server/app-static-generation.d.ts +2 -1
- package/dist/server/app-streamed-client-references.d.ts +39 -0
- package/dist/server/app-streamed-client-references.js +156 -0
- package/dist/server/app-visited-response-cache.d.ts +38 -2
- package/dist/server/app-visited-response-cache.js +46 -5
- package/dist/server/app-worker-stages.d.ts +27 -4
- package/dist/server/app-worker-stages.js +45 -6
- package/dist/server/artifact-compatibility.d.ts +2 -2
- package/dist/server/artifact-compatibility.js +1 -10
- package/dist/server/bfcache-identity.d.ts +2 -1
- package/dist/server/cache-headers.d.ts +2 -1
- package/dist/server/cache-proof.d.ts +1 -115
- package/dist/server/cache-proof.js +1 -544
- package/dist/server/cacheability-request.d.ts +2 -1
- package/dist/server/cacheability-request.js +13 -8
- package/dist/server/config-headers.d.ts +2 -1
- package/dist/server/csp.d.ts +2 -1
- package/dist/server/default-global-not-found-module.d.ts +2 -1
- package/dist/server/default-http-access-fallback-modules.d.ts +33 -0
- package/dist/server/default-http-access-fallback-modules.js +31 -0
- package/dist/server/defer-until-stream-consumed.d.ts +34 -0
- package/dist/server/defer-until-stream-consumed.js +154 -21
- package/dist/server/dev-lockfile.d.ts +32 -2
- package/dist/server/dev-lockfile.js +46 -2
- package/dist/server/dev-module-runner.d.ts +2 -1
- package/dist/server/dev-server.js +14 -6
- package/dist/server/fetch-handler.js +1 -2
- package/dist/server/file-based-metadata.d.ts +2 -1
- package/dist/server/framework-tracer.d.ts +2 -1
- package/dist/server/headers.d.ts +6 -3
- package/dist/server/headers.js +9 -5
- package/dist/server/html.d.ts +1 -0
- package/dist/server/html.js +19 -1
- package/dist/server/http-conditional.d.ts +2 -1
- package/dist/server/http-error-responses.d.ts +2 -1
- package/dist/server/implicit-tags.d.ts +2 -1
- package/dist/server/isr-cache.d.ts +8 -2
- package/dist/server/isr-cache.js +26 -1
- package/dist/server/metadata-route-build-data.d.ts +2 -1
- package/dist/server/metadata-route-build-data.js +1 -1
- package/dist/server/metadata-route-response.d.ts +2 -1
- package/dist/server/metadata-route-response.js +32 -15
- package/dist/server/metadata-routes.d.ts +2 -1
- package/dist/server/middleware-runtime.d.ts +2 -1
- package/dist/server/multi-stage.d.ts +52 -11
- package/dist/server/multi-stage.js +13 -1
- package/dist/server/navigation-planner.js +1 -1
- package/dist/server/navigation-trace.d.ts +2 -1
- package/dist/server/next-error-digest.d.ts +2 -1
- package/dist/server/nitro-public-files-plugin.d.ts +2 -1
- package/dist/server/nitro-public-files.d.ts +2 -1
- package/dist/server/opentelemetry-api.d.ts +2 -1
- package/dist/server/operation-token.d.ts +2 -1
- package/dist/server/pages-api-route.d.ts +2 -1
- package/dist/server/pages-api-route.js +28 -19
- package/dist/server/pages-asset-tags.d.ts +2 -1
- package/dist/server/pages-body-parser-config.d.ts +2 -1
- package/dist/server/pages-client-assets.d.ts +4 -0
- package/dist/server/pages-data-route.d.ts +2 -1
- package/dist/server/pages-document-asset-props.d.ts +2 -1
- package/dist/server/pages-document-initial-props.d.ts +2 -1
- package/dist/server/pages-execution-tracing.d.ts +2 -1
- package/dist/server/pages-execution-tracing.js +1 -1
- package/dist/server/pages-get-initial-props.d.ts +2 -1
- package/dist/server/pages-media-type.d.ts +21 -1
- package/dist/server/pages-media-type.js +69 -5
- package/dist/server/pages-node-compat.js +52 -27
- package/dist/server/pages-page-data.d.ts +7 -1
- package/dist/server/pages-page-data.js +35 -12
- package/dist/server/pages-page-handler.d.ts +3 -2
- package/dist/server/pages-page-handler.js +27 -27
- package/dist/server/pages-page-method.d.ts +2 -1
- package/dist/server/pages-page-response.d.ts +2 -1
- package/dist/server/pages-preview.d.ts +2 -1
- package/dist/server/pages-readiness.d.ts +2 -1
- package/dist/server/pages-request-pipeline.d.ts +10 -1
- package/dist/server/pages-request-pipeline.js +6 -7
- package/dist/server/pages-request-stage-entry.d.ts +2 -1
- package/dist/server/pages-request-stage-entry.js +14 -12
- package/dist/server/pages-response-stage-entry.d.ts +2 -1
- package/dist/server/pages-response-stage-entry.js +9 -3
- package/dist/server/pages-route-data-kind.d.ts +2 -1
- package/dist/server/prerender-cache-life-header.d.ts +2 -1
- package/dist/server/prerender-route-params.d.ts +2 -1
- package/dist/server/prod-server.js +14 -4
- package/dist/server/request-log.d.ts +2 -1
- package/dist/server/request-pipeline.d.ts +6 -0
- package/dist/server/request-pipeline.js +21 -1
- package/dist/server/request-tracing.d.ts +2 -1
- package/dist/server/request-tracing.js +1 -1
- package/dist/server/response-start-tracing.js +7 -29
- package/dist/server/rsc-render-stream.d.ts +4 -0
- package/dist/server/rsc-render-stream.js +25 -0
- package/dist/server/seed-cache.d.ts +2 -1
- package/dist/server/seed-cache.js +1 -1
- package/dist/server/shared-cache-identity.d.ts +23 -0
- package/dist/server/shared-cache-identity.js +36 -0
- package/dist/server/static-file-cache.d.ts +2 -1
- package/dist/server/static-file-cache.js +1 -0
- package/dist/server/worker-revalidation-context.d.ts +2 -1
- package/dist/server/worker-stages.d.ts +18 -4
- package/dist/server/worker-stages.js +23 -4
- package/dist/shims/app.d.ts +2 -1
- package/dist/shims/cache-callable-runtime.d.ts +2 -1
- package/dist/shims/cache-handler.d.ts +8 -3
- package/dist/shims/cache-handler.js +31 -11
- package/dist/shims/cache-request-state.d.ts +17 -20
- package/dist/shims/cache-request-state.js +16 -21
- package/dist/shims/cache-runtime.js +27 -11
- package/dist/shims/cache.d.ts +8 -7
- package/dist/shims/cache.js +17 -19
- package/dist/shims/cacheability-classification.d.ts +2 -0
- package/dist/shims/caught-not-found-boundaries.d.ts +15 -0
- package/dist/shims/caught-not-found-boundaries.js +48 -0
- package/dist/shims/cdn-cache.d.ts +22 -5
- package/dist/shims/cdn-purge-routes.d.ts +2 -1
- package/dist/shims/client-locale.js +2 -1
- package/dist/shims/client-page-root.d.ts +2 -1
- package/dist/shims/client-page-root.js +2 -2
- package/dist/shims/config.d.ts +2 -1
- package/dist/shims/default-forbidden.d.ts +4 -0
- package/dist/shims/default-forbidden.js +18 -0
- package/dist/shims/default-not-found.d.ts +0 -5
- package/dist/shims/default-not-found.js +5 -41
- package/dist/shims/default-unauthorized.d.ts +4 -0
- package/dist/shims/default-unauthorized.js +18 -0
- package/dist/shims/dynamic.js +9 -6
- package/dist/shims/error-boundary.d.ts +39 -3
- package/dist/shims/error-boundary.js +33 -18
- package/dist/shims/fetch-cache-state.d.ts +5 -1
- package/dist/shims/fetch-cache-state.js +1 -3
- package/dist/shims/fetch-cache.d.ts +2 -1
- package/dist/shims/fetch-cache.js +34 -24
- package/dist/shims/font-google.js +1 -2
- package/dist/shims/font-utils.d.ts +3 -2
- package/dist/shims/font-utils.js +5 -3
- package/dist/shims/form.js +3 -3
- package/dist/shims/headers.d.ts +8 -23
- package/dist/shims/headers.js +17 -67
- package/dist/shims/http-access-error-fallback.d.ts +7 -0
- package/dist/shims/http-access-error-fallback.js +47 -0
- package/dist/shims/image.d.ts +1 -22
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +22 -2
- package/dist/shims/internal/app-prefetch-fetch-queue.js +71 -18
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +14 -3
- package/dist/shims/internal/app-route-prefetch-policy.js +29 -4
- package/dist/shims/internal/cache-context-accessor.d.ts +2 -1
- package/dist/shims/internal/client-reference-loader.d.ts +7 -0
- package/dist/shims/internal/client-reference-loader.js +91 -0
- package/dist/shims/internal/cookie-serialize.d.ts +2 -1
- package/dist/shims/internal/cookies.js +1 -2
- package/dist/shims/internal/headers-state.d.ts +2 -0
- package/dist/shims/internal/headers-state.js +6 -1
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +2 -1
- package/dist/shims/internal/interpolate-as.d.ts +2 -1
- package/dist/shims/internal/navigation-untracked.js +1 -1
- package/dist/shims/internal/pages-data-target.d.ts +2 -1
- package/dist/shims/internal/pages-data-url.d.ts +2 -1
- package/dist/shims/internal/thenable-well-known-properties.d.ts +2 -1
- package/dist/shims/link.js +197 -52
- package/dist/shims/metadata.d.ts +52 -29
- package/dist/shims/metadata.js +142 -42
- package/dist/shims/navigation-errors.d.ts +2 -1
- package/dist/shims/navigation-server.js +1 -1
- package/dist/shims/navigation.d.ts +95 -8
- package/dist/shims/navigation.js +255 -47
- package/dist/shims/navigation.react-server.js +2 -2
- package/dist/shims/pages-router-runtime.d.ts +2 -1
- package/dist/shims/ppr-fallback-shell.d.ts +2 -1
- package/dist/shims/request-state-types.d.ts +2 -2
- package/dist/shims/router.js +14 -3
- package/dist/shims/slot.d.ts +12 -0
- package/dist/shims/slot.js +37 -9
- package/dist/shims/unified-request-context.d.ts +1 -1
- package/dist/shims/unified-request-context.js +5 -6
- package/dist/typegen.d.ts +2 -1
- package/dist/utils/cache-control-metadata.d.ts +5 -0
- package/dist/utils/cache-control-metadata.js +9 -1
- package/dist/utils/client-build-manifest.d.ts +4 -1
- package/dist/utils/client-build-manifest.js +9 -2
- package/dist/utils/client-entry-manifest.d.ts +13 -0
- package/dist/utils/client-entry-manifest.js +20 -1
- package/dist/utils/client-reference-chunks.d.ts +45 -0
- package/dist/utils/client-reference-chunks.js +30 -0
- package/dist/utils/client-runtime-metadata.d.ts +9 -1
- package/dist/utils/client-runtime-metadata.js +40 -9
- package/dist/utils/compare.d.ts +9 -0
- package/dist/utils/compare.js +15 -1
- package/dist/utils/lazy-chunks.d.ts +14 -0
- package/dist/utils/lazy-chunks.js +27 -1
- package/dist/utils/middleware-request-headers.d.ts +2 -1
- package/dist/utils/project.d.ts +4 -3
- package/dist/utils/project.js +12 -17
- package/dist/utils/query.d.ts +2 -1
- package/dist/utils/regex.d.ts +5 -0
- package/dist/utils/regex.js +11 -1
- package/dist/utils/text-stream.d.ts +10 -5
- package/dist/utils/text-stream.js +6 -6
- package/dist/utils/vite-cli-invocation.d.ts +2 -1
- package/package.json +6 -5
- package/dist/build/layout-classification-types.d.ts +0 -60
- package/dist/build/layout-classification-types.js +0 -1
- package/dist/build/layout-classification.d.ts +0 -61
- package/dist/build/layout-classification.js +0 -98
- package/dist/build/route-classification-injector.d.ts +0 -32
- package/dist/build/route-classification-injector.js +0 -59
- package/dist/build/route-classification-manifest.d.ts +0 -53
- package/dist/build/route-classification-manifest.js +0 -143
- package/dist/deps/.pnpm/image-size@2.0.2/deps/image-size/dist/index.js +0 -808
- package/dist/server/app-browser-client-reuse-manifest.d.ts +0 -10
- package/dist/server/app-browser-client-reuse-manifest.js +0 -101
- package/dist/server/app-layout-param-observation.d.ts +0 -41
- package/dist/server/app-layout-param-observation.js +0 -168
- package/dist/server/client-reuse-manifest.d.ts +0 -102
- package/dist/server/client-reuse-manifest.js +0 -209
- package/dist/server/default-not-found-module.d.ts +0 -19
- package/dist/server/default-not-found-module.js +0 -18
- package/dist/server/rsc-stream-hints.d.ts +0 -21
- package/dist/server/rsc-stream-hints.js +0 -227
- package/dist/server/skip-cache-proof.d.ts +0 -60
- package/dist/server/skip-cache-proof.js +0 -168
- package/dist/server/static-layout-client-reuse-proof.d.ts +0 -13
- package/dist/server/static-layout-client-reuse-proof.js +0 -33
- package/dist/utils/sorted-array.d.ts +0 -7
- package/dist/utils/sorted-array.js +0 -20
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { NavigationContext } from "../shims/navigation-context-state.js";
|
|
2
2
|
import "../shims/navigation.js";
|
|
3
3
|
import { RootParams } from "../shims/root-params.js";
|
|
4
|
-
import {
|
|
4
|
+
import { InitialNavigationCacheMetadata } from "./app-ssr-stream.js";
|
|
5
|
+
import { AppPageFontData, AppPageSsrHandler } from "./app-page-stream.js";
|
|
6
|
+
import { CdnAppPageDocument } from "../shims/cdn-cache.js";
|
|
5
7
|
//#region src/server/app-page-rsc-render-status.d.ts
|
|
6
8
|
/**
|
|
7
9
|
* The status of a finished RSC render, as Next.js's static generation decides
|
|
@@ -10,6 +12,8 @@ import { AppPageSsrHandler } from "./app-page-stream.js";
|
|
|
10
12
|
*/
|
|
11
13
|
export type AppPageRscRenderStatus = {
|
|
12
14
|
kind: "page";
|
|
15
|
+
/** The page's document, when the resolver rendered one to store. */
|
|
16
|
+
document?: CdnAppPageDocument;
|
|
13
17
|
} | {
|
|
14
18
|
kind: "special-error";
|
|
15
19
|
status: number;
|
|
@@ -22,9 +26,28 @@ export type AppPageRscRenderStatus = {
|
|
|
22
26
|
{
|
|
23
27
|
kind: "unstorable";
|
|
24
28
|
};
|
|
29
|
+
/** What the page's document renders with, as an HTML request renders it. */
|
|
30
|
+
type AppPageRscRenderDocumentOptions = {
|
|
31
|
+
clientTraceMetadata?: readonly string[];
|
|
32
|
+
/**
|
|
33
|
+
* When the document's render is given up, as completed-response admission
|
|
34
|
+
* gives up a body it hasn't captured by its deadline.
|
|
35
|
+
*/
|
|
36
|
+
deadlineAt?: number;
|
|
37
|
+
getFontData: () => AppPageFontData;
|
|
38
|
+
getInitialNavigationCacheMetadata: () => InitialNavigationCacheMetadata;
|
|
39
|
+
mirrorNextFlight: () => boolean;
|
|
40
|
+
onSsrError: (error: unknown) => unknown;
|
|
41
|
+
reactMaxHeadersLength?: number;
|
|
42
|
+
};
|
|
25
43
|
type CreateAppPageRscRenderStatusResolverOptions = {
|
|
26
44
|
basePath?: string;
|
|
27
45
|
capturedRscData: Promise<ArrayBuffer>;
|
|
46
|
+
/**
|
|
47
|
+
* Render the page's document from the payload, to be stored beside it.
|
|
48
|
+
* Without it, only a render that threw a special error renders its shell.
|
|
49
|
+
*/
|
|
50
|
+
document?: AppPageRscRenderDocumentOptions;
|
|
28
51
|
getCapturedSpecialError: () => unknown;
|
|
29
52
|
getCapturedSpecialErrors: (error: unknown) => readonly unknown[];
|
|
30
53
|
isForceStatic: boolean;
|
|
@@ -39,6 +62,9 @@ type CreateAppPageRscRenderStatusResolverOptions = {
|
|
|
39
62
|
* a render that threw one renders the document's shell from the same payload,
|
|
40
63
|
* as Next.js's static generation renders HTML beside RSC. Its server
|
|
41
64
|
* components don't run again. A render without a special error is a 200.
|
|
65
|
+
*
|
|
66
|
+
* With `document`, every render renders its document from the payload, as
|
|
67
|
+
* Next.js keeps a page's document and RSC payload in one entry.
|
|
42
68
|
*/
|
|
43
69
|
export declare function createAppPageRscRenderStatusResolver(options: CreateAppPageRscRenderStatusResolverOptions): () => Promise<AppPageRscRenderStatus>;
|
|
44
70
|
/**
|
|
@@ -46,4 +72,5 @@ export declare function createAppPageRscRenderStatusResolver(options: CreateAppP
|
|
|
46
72
|
* payload carries a redirect, so a redirect is a 200 with its `location`.
|
|
47
73
|
*/
|
|
48
74
|
export declare function resolveAppPageRscResponseStatus(status: number): number;
|
|
49
|
-
//#endregion
|
|
75
|
+
//#endregion
|
|
76
|
+
export {};
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { isRenderDynamicLatched } from "../shims/internal/headers-state.js";
|
|
2
|
+
import "../shims/headers.js";
|
|
3
|
+
import { readStreamAsText } from "../utils/text-stream.js";
|
|
4
|
+
import { buildAppPageFontLinkHeader, resolveAppPageShellSpecialError, resolveAppPageSpecialErrorStoredHeaders } from "./app-page-execution.js";
|
|
5
|
+
import { buildAppPageLinkHeader, isAppSsrRenderResult } from "./app-page-stream.js";
|
|
3
6
|
//#region src/server/app-page-rsc-render-status.ts
|
|
4
7
|
const PAGE_STATUS = { kind: "page" };
|
|
5
8
|
/**
|
|
@@ -8,28 +11,109 @@ const PAGE_STATUS = { kind: "page" };
|
|
|
8
11
|
* a render that threw one renders the document's shell from the same payload,
|
|
9
12
|
* as Next.js's static generation renders HTML beside RSC. Its server
|
|
10
13
|
* components don't run again. A render without a special error is a 200.
|
|
14
|
+
*
|
|
15
|
+
* With `document`, every render renders its document from the payload, as
|
|
16
|
+
* Next.js keeps a page's document and RSC payload in one entry.
|
|
11
17
|
*/
|
|
12
18
|
function createAppPageRscRenderStatusResolver(options) {
|
|
13
19
|
let status;
|
|
14
20
|
return () => status ??= resolveAppPageRscRenderStatus(options);
|
|
15
21
|
}
|
|
16
22
|
async function resolveAppPageRscRenderStatus(options) {
|
|
23
|
+
const deadlineAt = options.document?.deadlineAt;
|
|
24
|
+
if (deadlineAt === void 0) return renderAppPageRscRenderStatus(options);
|
|
25
|
+
const expired = new AbortController();
|
|
26
|
+
const remaining = deadlineAt - Date.now();
|
|
27
|
+
const timer = remaining > 0 ? setTimeout(() => expired.abort(), remaining) : void 0;
|
|
28
|
+
if (timer === void 0) expired.abort();
|
|
29
|
+
try {
|
|
30
|
+
return await unlessExpired(renderAppPageRscRenderStatus(options, expired.signal), expired.signal, () => {}) ?? expiredDocumentStatus(options);
|
|
31
|
+
} finally {
|
|
32
|
+
clearTimeout(timer);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/** Settle with `promise`, or with `null` once `signal` aborts. */
|
|
36
|
+
function unlessExpired(promise, signal, discard) {
|
|
37
|
+
if (!signal) return promise;
|
|
38
|
+
if (signal.aborted) {
|
|
39
|
+
promise.then(discard, () => {});
|
|
40
|
+
return Promise.resolve(null);
|
|
41
|
+
}
|
|
42
|
+
return new Promise((resolve, reject) => {
|
|
43
|
+
const onAbort = () => {
|
|
44
|
+
promise.then(discard, () => {});
|
|
45
|
+
resolve(null);
|
|
46
|
+
};
|
|
47
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
48
|
+
promise.then((value) => {
|
|
49
|
+
signal.removeEventListener("abort", onAbort);
|
|
50
|
+
if (signal.aborted) discard(value);
|
|
51
|
+
else resolve(value);
|
|
52
|
+
}, (error) => {
|
|
53
|
+
signal.removeEventListener("abort", onAbort);
|
|
54
|
+
reject(error);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/** Read the document, or cancel it and settle with `null` once `signal` aborts. */
|
|
59
|
+
async function readDocumentHtml(stream, signal) {
|
|
60
|
+
if (!signal) return readStreamAsText(stream);
|
|
61
|
+
const reader = stream.getReader();
|
|
62
|
+
const decoder = new TextDecoder();
|
|
63
|
+
const chunks = [];
|
|
64
|
+
for (;;) {
|
|
65
|
+
const result = await unlessExpired(reader.read(), signal, () => {});
|
|
66
|
+
if (result === null) {
|
|
67
|
+
reader.cancel().catch(() => {});
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
if (result.done) break;
|
|
71
|
+
chunks.push(decoder.decode(result.value, { stream: true }));
|
|
72
|
+
}
|
|
73
|
+
chunks.push(decoder.decode());
|
|
74
|
+
return chunks.join("");
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* A document given up at its deadline isn't stored. A render without a
|
|
78
|
+
* special error is still a 200, but one with a special error needs its shell.
|
|
79
|
+
*/
|
|
80
|
+
function expiredDocumentStatus(options) {
|
|
81
|
+
return options.getCapturedSpecialError() === null ? PAGE_STATUS : { kind: "unstorable" };
|
|
82
|
+
}
|
|
83
|
+
async function renderAppPageRscRenderStatus(options, signal) {
|
|
17
84
|
const rscData = await options.capturedRscData;
|
|
18
|
-
|
|
85
|
+
const documentOptions = options.document;
|
|
86
|
+
if (!documentOptions && options.getCapturedSpecialError() === null) return PAGE_STATUS;
|
|
19
87
|
const ssrHandler = await options.loadSsrHandler();
|
|
88
|
+
if (signal?.aborted) return expiredDocumentStatus(options);
|
|
89
|
+
const fontData = documentOptions?.getFontData() ?? {
|
|
90
|
+
links: [],
|
|
91
|
+
preloads: [],
|
|
92
|
+
styles: []
|
|
93
|
+
};
|
|
94
|
+
const clientTraceMetadataMarker = documentOptions?.clientTraceMetadata && documentOptions.clientTraceMetadata.length > 0 ? crypto.randomUUID() : void 0;
|
|
20
95
|
let rendered;
|
|
21
96
|
try {
|
|
22
|
-
rendered = await ssrHandler.handleSsr(new Response(rscData).body, options.navigationContext, {
|
|
23
|
-
links: [],
|
|
24
|
-
preloads: [],
|
|
25
|
-
styles: []
|
|
26
|
-
}, {
|
|
97
|
+
rendered = await unlessExpired(ssrHandler.handleSsr(new Response(rscData).body, options.navigationContext, fontData, {
|
|
27
98
|
basePath: options.basePath,
|
|
28
99
|
isForceStatic: options.isForceStatic,
|
|
29
|
-
isStaticGeneration: true,
|
|
30
|
-
onSsrError: () => void 0,
|
|
31
100
|
preloadRoutePattern: options.routePattern,
|
|
32
|
-
rootParams: options.rootParams
|
|
101
|
+
rootParams: options.rootParams,
|
|
102
|
+
...documentOptions ? {
|
|
103
|
+
clientTraceMetadata: documentOptions.clientTraceMetadata,
|
|
104
|
+
clientTraceMetadataMarker,
|
|
105
|
+
getInitialNavigationCacheMetadata: documentOptions.getInitialNavigationCacheMetadata,
|
|
106
|
+
isCacheCandidate: true,
|
|
107
|
+
mirrorNextFlight: documentOptions.mirrorNextFlight,
|
|
108
|
+
onSsrError: documentOptions.onSsrError,
|
|
109
|
+
reactMaxHeadersLength: documentOptions.reactMaxHeadersLength,
|
|
110
|
+
signal
|
|
111
|
+
} : {
|
|
112
|
+
isStaticGeneration: true,
|
|
113
|
+
onSsrError: () => void 0
|
|
114
|
+
}
|
|
115
|
+
}), signal, (late) => {
|
|
116
|
+
(isAppSsrRenderResult(late) ? late.htmlStream : late).cancel().catch(() => {});
|
|
33
117
|
});
|
|
34
118
|
} catch (error) {
|
|
35
119
|
const specialError = resolveAppPageShellSpecialError(error, options.getCapturedSpecialErrors(error));
|
|
@@ -41,8 +125,32 @@ async function resolveAppPageRscRenderStatus(options) {
|
|
|
41
125
|
...headers ? { headers } : {}
|
|
42
126
|
};
|
|
43
127
|
}
|
|
44
|
-
(
|
|
45
|
-
|
|
128
|
+
if (rendered === null) return expiredDocumentStatus(options);
|
|
129
|
+
const htmlStream = isAppSsrRenderResult(rendered) ? rendered.htmlStream : rendered;
|
|
130
|
+
if (!documentOptions) {
|
|
131
|
+
htmlStream.cancel().catch(() => {});
|
|
132
|
+
return PAGE_STATUS;
|
|
133
|
+
}
|
|
134
|
+
let html;
|
|
135
|
+
try {
|
|
136
|
+
html = await readDocumentHtml(htmlStream, signal);
|
|
137
|
+
} catch {
|
|
138
|
+
return PAGE_STATUS;
|
|
139
|
+
}
|
|
140
|
+
if (html === null) return expiredDocumentStatus(options);
|
|
141
|
+
if (isRenderDynamicLatched()) return PAGE_STATUS;
|
|
142
|
+
const linkHeader = buildAppPageLinkHeader(isAppSsrRenderResult(rendered) ? rendered.linkHeader : void 0, buildAppPageFontLinkHeader(fontData.preloads), documentOptions.reactMaxHeadersLength);
|
|
143
|
+
if (clientTraceMetadataMarker) {
|
|
144
|
+
const { stripClientTraceMetadataBlock } = await import("./client-trace-metadata.js");
|
|
145
|
+
html = stripClientTraceMetadataBlock(html, clientTraceMetadataMarker);
|
|
146
|
+
}
|
|
147
|
+
return {
|
|
148
|
+
kind: "page",
|
|
149
|
+
document: {
|
|
150
|
+
html,
|
|
151
|
+
...linkHeader ? { linkHeader } : {}
|
|
152
|
+
}
|
|
153
|
+
};
|
|
46
154
|
}
|
|
47
155
|
/**
|
|
48
156
|
* The status Next.js sends an RSC request for a render with this status. Its
|
|
@@ -5,7 +5,11 @@ type ClientPageSsrSearchParamsOptions = {
|
|
|
5
5
|
isForceStatic?: boolean;
|
|
6
6
|
isPprFallbackShell?: boolean;
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* The observer a route's head hands generateMetadata() and generateViewport()
|
|
10
|
+
* for `searchParams`, or none when a read doesn't count (`force-static`).
|
|
11
|
+
*/
|
|
12
|
+
export declare function createAppPageMetadataSearchParamsObserver(observe: boolean): ThenableParamsObserver | undefined;
|
|
9
13
|
export declare function makeObservedAppPageSearchParamsThenable(pageSearchParams: AppPageSearchParams): ThenableParams<AppPageSearchParams>;
|
|
10
14
|
/**
|
|
11
15
|
* The `searchParams` a client page receives during SSR (see
|
|
@@ -26,4 +30,5 @@ export declare function makeClientPageSsrSearchParamsThenable(searchParams: URLS
|
|
|
26
30
|
* The cache lives in this render's navigation context and is dropped with it.
|
|
27
31
|
*/
|
|
28
32
|
export declare function createClientPageSsrSearchParamsSource(searchParams: URLSearchParams, options: ClientPageSsrSearchParamsOptions): (pageProps: object) => ThenableParams<AppPageSearchParams>;
|
|
29
|
-
//#endregion
|
|
33
|
+
//#endregion
|
|
34
|
+
export {};
|
|
@@ -16,6 +16,13 @@ function createAppPageSearchParamsObserver() {
|
|
|
16
16
|
observeThenRead: throwIfStaticGenerationAccessError
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* The observer a route's head hands generateMetadata() and generateViewport()
|
|
21
|
+
* for `searchParams`, or none when a read doesn't count (`force-static`).
|
|
22
|
+
*/
|
|
23
|
+
function createAppPageMetadataSearchParamsObserver(observe) {
|
|
24
|
+
return observe ? createAppPageSearchParamsObserver() : void 0;
|
|
25
|
+
}
|
|
19
26
|
function makeObservedAppPageSearchParamsThenable(pageSearchParams) {
|
|
20
27
|
return makeThenableParams(pageSearchParams, createAppPageSearchParamsObserver());
|
|
21
28
|
}
|
|
@@ -55,4 +62,4 @@ function makeClientPageSsrSearchParamsThenableFromRecord(pageSearchParams, optio
|
|
|
55
62
|
return options.isForceStatic !== true && options.isPprFallbackShell !== true ? makeObservedAppPageSearchParamsThenable(pageSearchParams) : makeThenableParams(pageSearchParams);
|
|
56
63
|
}
|
|
57
64
|
//#endregion
|
|
58
|
-
export {
|
|
65
|
+
export { createAppPageMetadataSearchParamsObserver, createClientPageSsrSearchParamsSource, makeClientPageSsrSearchParamsThenable, makeObservedAppPageSearchParamsThenable };
|
|
@@ -52,4 +52,5 @@ export declare function createAppPageSegmentPlan<TModule extends AppPageModule,
|
|
|
52
52
|
slotBindings: readonly AppElementsSlotBinding[];
|
|
53
53
|
templateEntries: readonly AppPageTemplateEntry<TModule>[];
|
|
54
54
|
}): AppPageSegmentPlan<TModule>;
|
|
55
|
-
//#endregion
|
|
55
|
+
//#endregion
|
|
56
|
+
export {};
|
|
@@ -22,6 +22,12 @@ export type AppSsrRenderResult = {
|
|
|
22
22
|
renderComplete?: Promise<void>;
|
|
23
23
|
capturedRscData: Promise<ArrayBuffer> | null;
|
|
24
24
|
shellErrorRecovered?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* The special error that rejected the shell, when parallel slot not-found
|
|
27
|
+
* boundaries caught it in a second render of the same payload. The document
|
|
28
|
+
* is that error's, with its status.
|
|
29
|
+
*/
|
|
30
|
+
caughtShellError?: unknown;
|
|
25
31
|
/**
|
|
26
32
|
* Preload `Link` header value emitted by React during SSR (via `onHeaders`),
|
|
27
33
|
* already capped to `reactMaxHeadersLength`. Empty/undefined when React
|
|
@@ -71,6 +77,8 @@ export type AppPageSsrHandler = {
|
|
|
71
77
|
};
|
|
72
78
|
/** Abort signal for a build-time PPR fallback-shell static render. */
|
|
73
79
|
pprFallbackShellSignal?: AbortSignal;
|
|
80
|
+
/** Aborts a streaming render whose document is given up. */
|
|
81
|
+
signal?: AbortSignal;
|
|
74
82
|
/** Route whose client references load before the render; null for none. */
|
|
75
83
|
preloadRoutePattern?: string | null;
|
|
76
84
|
/** When true, wait for the full React tree before emitting bytes. */
|
|
@@ -92,6 +100,8 @@ export type AppPageSsrHandler = {
|
|
|
92
100
|
* default `__next_error__` error-document shell (with the original
|
|
93
101
|
* flight payload and bootstrap) instead of rejecting. See handleSsr. */
|
|
94
102
|
fallbackToErrorDocumentOnShellError?: boolean;
|
|
103
|
+
/** The parallel slot not-found boundaries that catch a shell error. See handleSsr. */
|
|
104
|
+
resolveCaughtNotFoundBoundaries?: (error: unknown) => readonly string[] | null;
|
|
95
105
|
dynamicStaleTimeSeconds?: number;
|
|
96
106
|
getInitialNavigationCacheMetadata?: () => InitialNavigationCacheMetadata;
|
|
97
107
|
}) => Promise<ReadableStream<Uint8Array> | AppSsrRenderResult>;
|
|
@@ -145,6 +155,8 @@ type RenderAppPageHtmlStreamOptions = {
|
|
|
145
155
|
isCacheCandidate?: boolean;
|
|
146
156
|
/** Override the default shell-error recovery decision passed to handleSsr. */
|
|
147
157
|
fallbackToErrorDocumentOnShellError?: boolean;
|
|
158
|
+
/** The parallel slot not-found boundaries that catch a shell error. See handleSsr. */
|
|
159
|
+
resolveCaughtNotFoundBoundaries?: (error: unknown) => readonly string[] | null;
|
|
148
160
|
/** Dev-only: original server error to surface in the browser overlay. */
|
|
149
161
|
initialDevServerError?: unknown;
|
|
150
162
|
/** Report an SSR/Fizz render failure through instrumentation. */
|
|
@@ -178,9 +190,20 @@ type RenderAppPageHtmlStreamWithRecoveryOptions<TSpecialError> = {
|
|
|
178
190
|
onShellRendered?: () => void;
|
|
179
191
|
renderErrorBoundaryResponse: (error: unknown) => Promise<Response | null>;
|
|
180
192
|
renderHtmlStream: () => Promise<ReadableStream<Uint8Array> | AppSsrRenderResult>;
|
|
181
|
-
|
|
193
|
+
/**
|
|
194
|
+
* The document of a special error that rejected the shell. With
|
|
195
|
+
* `caughtDocument`, parallel slot boundaries caught it in the page's own
|
|
196
|
+
* document, which that response sends.
|
|
197
|
+
*/
|
|
198
|
+
renderSpecialErrorResponse: (specialError: TSpecialError, caughtDocument?: AppPageCaughtShellErrorDocument) => Promise<Response>;
|
|
182
199
|
resolveSpecialError: (error: unknown) => TSpecialError | null;
|
|
183
200
|
};
|
|
201
|
+
/** The page's document, rendered with the slot boundaries that caught its shell error. */
|
|
202
|
+
type AppPageCaughtShellErrorDocument = {
|
|
203
|
+
htmlStream: ReadableStream<Uint8Array>;
|
|
204
|
+
/** React-emitted preload `Link` header (already capped). */
|
|
205
|
+
linkHeader?: string;
|
|
206
|
+
};
|
|
184
207
|
type AppPageRscErrorTracker = {
|
|
185
208
|
getCapturedError: () => unknown;
|
|
186
209
|
/**
|
|
@@ -202,6 +225,15 @@ export declare function createAppPageSsrErrorHandler(baseOnError: (error: unknow
|
|
|
202
225
|
export declare function createAppPageFontData(options: CreateAppPageFontDataOptions): AppPageFontData;
|
|
203
226
|
export declare function renderAppPageHtmlStream(options: RenderAppPageHtmlStreamOptions): Promise<AppSsrRenderResult>;
|
|
204
227
|
export declare function renderAppPageHtmlResponse(options: RenderAppPageHtmlResponseOptions): Promise<Response>;
|
|
228
|
+
export declare function buildAppPageHtmlDocumentResponse(htmlStream: ReadableStream<Uint8Array>, options: {
|
|
229
|
+
clearRequestContext: () => void;
|
|
230
|
+
fontLinkHeader?: string;
|
|
231
|
+
isEdgeRuntime?: boolean;
|
|
232
|
+
middlewareHeaders?: Headers | null;
|
|
233
|
+
reactLinkHeader?: string;
|
|
234
|
+
reactMaxHeadersLength?: number;
|
|
235
|
+
status: number;
|
|
236
|
+
}): Response;
|
|
205
237
|
export declare function renderAppPageHtmlStreamWithRecovery<TSpecialError>(options: RenderAppPageHtmlStreamWithRecoveryOptions<TSpecialError>): Promise<AppPageHtmlStreamRecoveryResult>;
|
|
206
238
|
export declare function createAppPageRscErrorTracker(baseOnError: (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown): AppPageRscErrorTracker;
|
|
207
239
|
//#endregion
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
|
|
1
2
|
import { VINEXT_RSC_VARY_HEADER } from "./app-rsc-vary.js";
|
|
2
3
|
import { isNavigationSignalError } from "../utils/navigation-signal.js";
|
|
3
|
-
import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
|
|
4
|
-
import "./app-rsc-cache-busting.js";
|
|
5
|
-
import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
|
|
6
4
|
import { markFrameworkLinkHeaders } from "./app-response-header-provenance.js";
|
|
5
|
+
import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
|
|
6
|
+
import "./app-rsc-cache-busting.js";
|
|
7
7
|
import { applyEdgeRuntimeHeader } from "./app-page-response.js";
|
|
8
8
|
import { getNextErrorDigest } from "./next-error-digest.js";
|
|
9
9
|
import { isAppRenderAbortError } from "./app-render-abort-error.js";
|
|
@@ -87,6 +87,7 @@ async function renderAppPageHtmlStream(options) {
|
|
|
87
87
|
onSsrError: options.onSsrError,
|
|
88
88
|
mirrorNextFlight: options.mirrorNextFlight,
|
|
89
89
|
fallbackToErrorDocumentOnShellError: options.fallbackToErrorDocumentOnShellError ?? (options.waitForAllReady !== true && options.hasCustomGlobalError === false),
|
|
90
|
+
resolveCaughtNotFoundBoundaries: options.resolveCaughtNotFoundBoundaries,
|
|
90
91
|
dynamicStaleTimeSeconds: options.dynamicStaleTimeSeconds,
|
|
91
92
|
getInitialNavigationCacheMetadata: options.getInitialNavigationCacheMetadata
|
|
92
93
|
};
|
|
@@ -94,6 +95,12 @@ async function renderAppPageHtmlStream(options) {
|
|
|
94
95
|
}
|
|
95
96
|
async function renderAppPageHtmlResponse(options) {
|
|
96
97
|
const { htmlStream, linkHeader: reactLinkHeader } = await renderAppPageHtmlStream(options);
|
|
98
|
+
return buildAppPageHtmlDocumentResponse(htmlStream, {
|
|
99
|
+
...options,
|
|
100
|
+
reactLinkHeader
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
function buildAppPageHtmlDocumentResponse(htmlStream, options) {
|
|
97
104
|
const safeStream = deferUntilStreamConsumed(htmlStream, () => {
|
|
98
105
|
options.clearRequestContext();
|
|
99
106
|
});
|
|
@@ -103,7 +110,7 @@ async function renderAppPageHtmlResponse(options) {
|
|
|
103
110
|
});
|
|
104
111
|
applyEdgeRuntimeHeader(headers, options.isEdgeRuntime);
|
|
105
112
|
mergeMiddlewareResponseHeaders(headers, options.middlewareHeaders ?? null);
|
|
106
|
-
const frameworkLinkHeader = buildAppPageLinkHeader(reactLinkHeader, options.fontLinkHeader, options.reactMaxHeadersLength);
|
|
113
|
+
const frameworkLinkHeader = buildAppPageLinkHeader(options.reactLinkHeader, options.fontLinkHeader, options.reactMaxHeadersLength);
|
|
107
114
|
if (frameworkLinkHeader) headers.append("Link", frameworkLinkHeader);
|
|
108
115
|
const response = new Response(safeStream, {
|
|
109
116
|
status: options.status,
|
|
@@ -114,8 +121,20 @@ async function renderAppPageHtmlResponse(options) {
|
|
|
114
121
|
}
|
|
115
122
|
async function renderAppPageHtmlStreamWithRecovery(options) {
|
|
116
123
|
try {
|
|
117
|
-
const { htmlStream, metadataReady, renderComplete, capturedRscData, linkHeader, shellErrorRecovered } = normalizeAppSsrRenderResult(await options.renderHtmlStream());
|
|
124
|
+
const { htmlStream, metadataReady, renderComplete, capturedRscData, linkHeader, shellErrorRecovered, caughtShellError } = normalizeAppSsrRenderResult(await options.renderHtmlStream());
|
|
118
125
|
options.onShellRendered?.();
|
|
126
|
+
const caughtSpecialError = caughtShellError === void 0 ? null : options.resolveSpecialError(caughtShellError);
|
|
127
|
+
if (caughtSpecialError) return {
|
|
128
|
+
htmlStream: null,
|
|
129
|
+
response: await options.renderSpecialErrorResponse(caughtSpecialError, {
|
|
130
|
+
htmlStream,
|
|
131
|
+
linkHeader
|
|
132
|
+
}),
|
|
133
|
+
metadataReady: resolvedMetadataReady,
|
|
134
|
+
renderComplete: renderComplete ?? resolvedMetadataReady,
|
|
135
|
+
capturedRscData: null,
|
|
136
|
+
shellErrorRecovered: false
|
|
137
|
+
};
|
|
119
138
|
return {
|
|
120
139
|
htmlStream,
|
|
121
140
|
response: null,
|
|
@@ -185,4 +204,4 @@ function createAppPageRscErrorTracker(baseOnError) {
|
|
|
185
204
|
};
|
|
186
205
|
}
|
|
187
206
|
//#endregion
|
|
188
|
-
export { buildAppPageLinkHeader, createAppPageFontData, createAppPageRscErrorTracker, createAppPageSsrErrorHandler, deferUntilStreamConsumed, isAppSsrRenderResult, renderAppPageHtmlResponse, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery };
|
|
207
|
+
export { buildAppPageHtmlDocumentResponse, buildAppPageLinkHeader, createAppPageFontData, createAppPageRscErrorTracker, createAppPageSsrErrorHandler, deferUntilStreamConsumed, isAppSsrRenderResult, renderAppPageHtmlResponse, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery };
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { AppMiddlewareContext } from "./app-middleware.js";
|
|
2
2
|
import { MiddlewareResponseMergeOptions } from "./middleware-response-headers.js";
|
|
3
3
|
import { EdgeApiExecutionRuntime } from "./edge-api-runtime.js";
|
|
4
|
+
import { RuntimePagesDataKind } from "./pages-route-data-kind.js";
|
|
4
5
|
//#region src/server/app-pages-bridge.d.ts
|
|
5
6
|
export type PagesEntry = {
|
|
7
|
+
getRuntimePageDataKind?: (url: string, request: Request) => RuntimePagesDataKind;
|
|
6
8
|
handleApiRoute?: (request: Request, url: string, ctx: unknown, trustedRevalidateOrigin: string | undefined, edgeRuntime: EdgeApiExecutionRuntime, initialResponseHeaders?: Headers) => Promise<Response> | Response;
|
|
7
9
|
matchApiRoute?: (url: string, request: Request) => PagesRouteMatch | null;
|
|
8
10
|
matchPageRoute?: (url: string, request: Request) => PagesRouteMatch | null;
|
|
@@ -55,10 +57,13 @@ type RenderPagesFallbackOptions = {
|
|
|
55
57
|
pathname?: string;
|
|
56
58
|
pagesDataRequest?: Request | null;
|
|
57
59
|
request: Request;
|
|
60
|
+
/** The shared cache entry answers every host; a request-time render is not stored. */
|
|
61
|
+
sharedAcrossHosts?: boolean;
|
|
58
62
|
url: URL;
|
|
59
63
|
};
|
|
60
64
|
/**
|
|
61
65
|
* Fallback handler to route App Router requests to the Pages Router when no App Router route matches.
|
|
62
66
|
*/
|
|
63
67
|
export declare function renderPagesFallback(options: RenderPagesFallbackOptions, dependencies: RenderPagesFallbackDependencies): Promise<Response | null>;
|
|
64
|
-
//#endregion
|
|
68
|
+
//#endregion
|
|
69
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { cloneRequestWithHeaders, cloneRequestWithUrl } from "./request-pipeline.js";
|
|
2
2
|
import { getRequestExecutionContext } from "../shims/request-context.js";
|
|
3
|
-
import { beginRouteCacheability } from "../shims/cacheability-classification.js";
|
|
3
|
+
import { beginRouteCacheability, markRouteCacheabilityDynamic } from "../shims/cacheability-classification.js";
|
|
4
4
|
import { mergeHeaders } from "./worker-utils.js";
|
|
5
5
|
import { pagesRouteHasPriorityOverAppRoute } from "./hybrid-route-priority.js";
|
|
6
6
|
//#region src/server/app-pages-bridge.ts
|
|
@@ -18,7 +18,7 @@ function applyPagesMiddlewareContext(response, middlewareContext) {
|
|
|
18
18
|
* Fallback handler to route App Router requests to the Pages Router when no App Router route matches.
|
|
19
19
|
*/
|
|
20
20
|
async function renderPagesFallback(options, dependencies) {
|
|
21
|
-
const { allowRscDocumentFallback = false, appRouteMatch = null, isDataRequest = false, isRscRequest, initialResponseHeaders, matchKind, middlewareContext, pathname = options.url.pathname, pagesDataRequest = null, request, url } = options;
|
|
21
|
+
const { allowRscDocumentFallback = false, appRouteMatch = null, isDataRequest = false, isRscRequest, initialResponseHeaders, matchKind, middlewareContext, pathname = options.url.pathname, pagesDataRequest = null, request, sharedAcrossHosts = false, url } = options;
|
|
22
22
|
const { loadPagesEntry, buildRequestHeaders, applyRouteHandlerMiddlewareContext, getDraftModeCookieHeader } = dependencies;
|
|
23
23
|
if (isRscRequest && !allowRscDocumentFallback) return null;
|
|
24
24
|
const pagesEntry = await loadPagesEntry();
|
|
@@ -61,7 +61,11 @@ async function renderPagesFallback(options, dependencies) {
|
|
|
61
61
|
if (pageMatch !== null && matchKind === "static" && pageMatch.route.isDynamic) return null;
|
|
62
62
|
if (pageMatch !== null && matchKind === "dynamic" && !pageMatch.route.isDynamic) return null;
|
|
63
63
|
if (appRouteMatch !== null && (pageMatch === null || !pagesRouteHasPriorityOverAppRoute(pageMatch.route, appRouteMatch.route))) return null;
|
|
64
|
-
if (pageMatch !== null)
|
|
64
|
+
if (pageMatch !== null) {
|
|
65
|
+
beginRouteCacheability("pages-page", pageMatch.route.pattern);
|
|
66
|
+
const runtimeDataKind = sharedAcrossHosts ? pagesEntry.getRuntimePageDataKind?.(pagesUrl, matchRequest) : void 0;
|
|
67
|
+
if (runtimeDataKind === "server" || runtimeDataKind === "initial") markRouteCacheabilityDynamic("getInitialProps render shares a cache entry across hosts");
|
|
68
|
+
}
|
|
65
69
|
const pagesRequest = claimPagesRequest();
|
|
66
70
|
const renderArgs = [
|
|
67
71
|
pagesDataRequest ? cloneRequestWithUrl(pagesRequest, pagesDataRequest.url) : pagesRequest,
|
|
@@ -15,4 +15,5 @@ type HandleAppPrerenderEndpointOptions = {
|
|
|
15
15
|
staticParamsMap: AppPrerenderStaticParamsMap;
|
|
16
16
|
};
|
|
17
17
|
export declare function handleAppPrerenderEndpoint(request: Request, options: HandleAppPrerenderEndpointOptions): Promise<Response | null>;
|
|
18
|
-
//#endregion
|
|
18
|
+
//#endregion
|
|
19
|
+
export {};
|
|
@@ -34,4 +34,5 @@ type CallAppPrerenderStaticParamsOptions = {
|
|
|
34
34
|
rootParamNamesByPattern: Record<string, readonly string[] | undefined>;
|
|
35
35
|
};
|
|
36
36
|
export declare function callAppPrerenderStaticParams(options: CallAppPrerenderStaticParamsOptions): Promise<unknown>;
|
|
37
|
-
//#endregion
|
|
37
|
+
//#endregion
|
|
38
|
+
export {};
|
|
@@ -11,12 +11,29 @@ export type AppPageRenderDependency = AppRenderDependency & {
|
|
|
11
11
|
/** Whether `component` is a "use client" export seen from the RSC environment. */
|
|
12
12
|
export declare function isAppClientReference(component: unknown): boolean;
|
|
13
13
|
export declare function isReactOwnedAppComponent(component: unknown): boolean;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
/**
|
|
15
|
+
* `mapError` replaces an error thrown by a CSS-wrapped export's inner
|
|
16
|
+
* component, which renders after this call returns. The caller maps the
|
|
17
|
+
* errors this call throws or rejects with.
|
|
18
|
+
*/
|
|
19
|
+
export declare function invokeAppComponent(component: ComponentType<Record<string, unknown>>, props: Readonly<Record<string, unknown>>, mapError?: (error: unknown) => unknown): ReactNode | Promise<ReactNode>;
|
|
20
|
+
/**
|
|
21
|
+
* Reports how a component's own render ended: `failure` holds what it threw
|
|
22
|
+
* or rejected with, after `mapError`. A suspension isn't an end, as React
|
|
23
|
+
* renders the component again.
|
|
24
|
+
*/
|
|
25
|
+
export type AppComponentSettledCallback = (failure?: {
|
|
26
|
+
error: unknown;
|
|
27
|
+
}) => void;
|
|
28
|
+
/**
|
|
29
|
+
* `invokeAppComponent()`, with every error the component throws or rejects
|
|
30
|
+
* with replaced by `mapError(error)`, including its CSS-wrapped inner one's.
|
|
31
|
+
* `onSettled` hears once how the component, or that inner one, ended.
|
|
32
|
+
*/
|
|
33
|
+
export declare function invokeAppComponentMappingErrors(component: ComponentType<Record<string, unknown>>, props: Readonly<Record<string, unknown>>, mapError: (error: unknown) => unknown, onSettled?: AppComponentSettledCallback): ReactNode | Promise<ReactNode>;
|
|
17
34
|
export declare function createAppRenderDependency(): AppRenderDependency;
|
|
18
35
|
export declare function createAppPageRenderDependency(): AppPageRenderDependency;
|
|
19
36
|
export declare function isAppRenderSuspension(error: unknown): boolean;
|
|
20
37
|
export declare function renderAfterAppDependencies(children: ReactNode, dependencies: readonly AppRenderDependency[]): ReactNode;
|
|
21
|
-
export declare function renderAppComponentWithDependencyBarrier(component: ComponentType<Record<string, unknown>>, props: Readonly<Record<string, unknown>>, dependency: AppRenderDependency): ReactNode;
|
|
38
|
+
export declare function renderAppComponentWithDependencyBarrier(component: ComponentType<Record<string, unknown>>, props: Readonly<Record<string, unknown>>, dependency: AppRenderDependency, mapError?: (error: unknown) => unknown, onSettled?: AppComponentSettledCallback): ReactNode;
|
|
22
39
|
//#endregion
|