vinext 1.2.1 → 1.3.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/README.md +12 -9
- package/dist/_virtual/_rolldown/runtime.js +1 -1
- 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 +77 -6
- package/dist/build/client-build-config.js +176 -12
- 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 +171 -0
- package/dist/build/client-reference-groups.js +572 -0
- 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/layout-classification.d.ts +2 -1
- package/dist/build/module-dependency-cache.d.ts +33 -1
- package/dist/build/module-dependency-cache.js +51 -1
- package/dist/build/next-client-runtime-manifests.d.ts +12 -2
- package/dist/build/next-client-runtime-manifests.js +19 -4
- package/dist/build/nitro-public-files.d.ts +24 -0
- package/dist/build/nitro-public-files.js +60 -0
- package/dist/build/pages-client-assets-module.js +1 -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-paths.js +5 -2
- 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 +5 -4
- package/dist/build/report.d.ts +2 -1
- package/dist/build/route-classification-injector.d.ts +2 -1
- package/dist/build/route-classification-manifest.d.ts +2 -1
- package/dist/build/run-prerender.d.ts +2 -1
- package/dist/build/server-actions-encryption-key.d.ts +24 -0
- package/dist/build/server-actions-encryption-key.js +101 -0
- package/dist/build/ssr-manifest.d.ts +3 -0
- package/dist/build/ssr-manifest.js +34 -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 +4 -0
- package/dist/cli-args.d.ts +2 -1
- package/dist/cli.js +2 -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-rewrite-params.d.ts +9 -0
- package/dist/client/client-rewrite-params.js +20 -0
- 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 +2 -1
- package/dist/client/index.js +1 -2
- package/dist/client/instrumentation-client-state.js +5 -5
- package/dist/client/navigation-runtime.d.ts +28 -3
- package/dist/client/navigation-runtime.js +42 -11
- package/dist/client/pages-router-link-navigation.d.ts +2 -1
- package/dist/client/vinext-next-data.d.ts +25 -2
- package/dist/client/window-next.d.ts +2 -1
- package/dist/config/config-matchers.d.ts +27 -41
- package/dist/config/config-matchers.js +293 -270
- package/dist/config/config-source.d.ts +34 -0
- package/dist/config/config-source.js +141 -0
- package/dist/config/dotenv.d.ts +2 -1
- package/dist/config/header-params.d.ts +29 -0
- package/dist/config/header-params.js +106 -0
- package/dist/config/next-config.d.ts +20 -6
- package/dist/config/next-config.js +149 -11
- package/dist/config/tsconfig-paths.d.ts +2 -1
- 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/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +2 -2
- package/dist/entries/app-browser-entry.d.ts +34 -6
- package/dist/entries/app-browser-entry.js +103 -40
- package/dist/entries/app-rsc-entry.d.ts +4 -1
- package/dist/entries/app-rsc-entry.js +131 -66
- package/dist/entries/app-rsc-manifest.d.ts +12 -1
- package/dist/entries/app-rsc-manifest.js +73 -1
- package/dist/entries/app-ssr-entry.d.ts +4 -1
- package/dist/entries/app-ssr-entry.js +9 -2
- package/dist/entries/pages-client-entry.d.ts +1 -0
- package/dist/entries/pages-client-entry.js +6 -6
- 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 +18 -15
- 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.d.ts +11 -0
- package/dist/index.js +340 -116
- package/dist/init.js +17 -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/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/og-assets.d.ts +2 -1
- package/dist/plugins/og-assets.js +2 -3
- package/dist/plugins/optimize-imports.d.ts +27 -3
- package/dist/plugins/optimize-imports.js +106 -20
- package/dist/plugins/pages-node-externals.d.ts +2 -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 +53 -1
- package/dist/plugins/rsc-client-reference-loaders.js +447 -27
- 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 +5 -0
- package/dist/plugins/use-cache-callable.js +30 -8
- package/dist/plugins/worker-image-imports.d.ts +1 -0
- package/dist/plugins/worker-image-imports.js +2 -2
- package/dist/plugins/worker-use-server.d.ts +2 -1
- package/dist/routing/app-route-graph.d.ts +41 -1
- package/dist/routing/app-route-graph.js +122 -50
- package/dist/routing/browser-route-manifest.d.ts +44 -0
- package/dist/routing/browser-route-manifest.js +195 -0
- package/dist/routing/hashed-route-patterns.d.ts +4 -0
- package/dist/routing/hashed-route-patterns.js +22 -0
- package/dist/routing/optimistic-route-trie.d.ts +28 -0
- package/dist/routing/optimistic-route-trie.js +102 -0
- package/dist/routing/route-matching.d.ts +2 -1
- package/dist/routing/route-pattern.d.ts +2 -1
- package/dist/routing/route-validation.d.ts +6 -1
- package/dist/routing/route-validation.js +26 -10
- package/dist/server/accept-encoding.d.ts +2 -1
- package/dist/server/app-action-forwarding.d.ts +10 -1
- package/dist/server/app-action-forwarding.js +15 -1
- package/dist/server/app-bfcache-identity.d.ts +2 -1
- package/dist/server/app-browser-action-result.d.ts +2 -1
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -1
- package/dist/server/app-browser-entry.js +175 -64
- package/dist/server/app-browser-error.d.ts +5 -2
- package/dist/server/app-browser-error.js +7 -2
- package/dist/server/app-browser-history-controller.d.ts +2 -1
- package/dist/server/app-browser-hydration.d.ts +2 -1
- package/dist/server/app-browser-interception-context.d.ts +4 -3
- package/dist/server/app-browser-mpa-navigation.d.ts +1 -0
- package/dist/server/app-browser-mpa-navigation.js +6 -5
- package/dist/server/app-browser-navigation-controller.d.ts +17 -6
- package/dist/server/app-browser-navigation-controller.js +103 -36
- 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-server-action-client.d.ts +2 -1
- package/dist/server/app-browser-state.d.ts +2 -2
- package/dist/server/app-browser-state.js +1 -1
- package/dist/server/app-browser-stream.d.ts +2 -1
- package/dist/server/app-browser-visible-commit.d.ts +6 -5
- 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 +45 -2
- package/dist/server/app-client-reference-preloader.js +48 -10
- package/dist/server/app-elements-wire.d.ts +2 -1
- package/dist/server/app-elements.d.ts +2 -0
- package/dist/server/app-elements.js +3 -1
- package/dist/server/app-fallback-renderer.d.ts +9 -2
- package/dist/server/app-fallback-renderer.js +6 -2
- package/dist/server/app-history-state.d.ts +2 -1
- package/dist/server/app-inline-css-client.d.ts +2 -1
- package/dist/server/app-layout-param-observation.d.ts +2 -1
- package/dist/server/app-metadata-tracing.d.ts +2 -1
- package/dist/server/app-middleware.d.ts +6 -0
- package/dist/server/app-middleware.js +8 -10
- package/dist/server/app-optimistic-routing.d.ts +26 -11
- package/dist/server/app-optimistic-routing.js +38 -96
- package/dist/server/app-page-boundary-render.d.ts +20 -2
- package/dist/server/app-page-boundary-render.js +229 -39
- package/dist/server/app-page-boundary.d.ts +34 -5
- package/dist/server/app-page-boundary.js +40 -7
- package/dist/server/app-page-cache-finalizer.d.ts +2 -1
- package/dist/server/app-page-cache-finalizer.js +1 -1
- package/dist/server/app-page-cache-render.d.ts +10 -2
- package/dist/server/app-page-cache-render.js +15 -2
- package/dist/server/app-page-cache.js +2 -2
- package/dist/server/app-page-dispatch.d.ts +34 -1
- package/dist/server/app-page-dispatch.js +165 -34
- package/dist/server/app-page-element-builder.d.ts +17 -1
- package/dist/server/app-page-element-builder.js +187 -66
- package/dist/server/app-page-execution.d.ts +28 -1
- package/dist/server/app-page-execution.js +114 -5
- package/dist/server/app-page-head.d.ts +95 -3
- package/dist/server/app-page-head.js +307 -152
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +48 -2
- package/dist/server/app-page-http-access-fallback-metadata.js +76 -1
- package/dist/server/app-page-method.d.ts +2 -1
- package/dist/server/app-page-probe.d.ts +2 -1
- package/dist/server/app-page-render-identity.d.ts +2 -1
- package/dist/server/app-page-render.d.ts +7 -1
- package/dist/server/app-page-render.js +38 -11
- package/dist/server/app-page-request.d.ts +14 -1
- package/dist/server/app-page-request.js +1 -1
- package/dist/server/app-page-route-wiring.d.ts +52 -2
- package/dist/server/app-page-route-wiring.js +197 -47
- package/dist/server/app-page-rsc-render-status.d.ts +3 -1
- package/dist/server/app-page-rsc-render-status.js +1 -0
- package/dist/server/app-page-search-params-observation.d.ts +8 -6
- package/dist/server/app-page-search-params-observation.js +16 -11
- package/dist/server/app-page-segment-plan.d.ts +2 -1
- package/dist/server/app-page-stream.d.ts +38 -1
- package/dist/server/app-page-stream.js +24 -4
- package/dist/server/app-pages-bridge.d.ts +4 -2
- package/dist/server/app-pages-bridge.js +11 -7
- 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-prerender-static-params.js +3 -2
- package/dist/server/app-render-dependency.d.ts +11 -1
- package/dist/server/app-render-dependency.js +65 -6
- package/dist/server/app-request-stage-independent-entry.d.ts +2 -1
- package/dist/server/app-request-stage-independent-entry.js +2 -2
- package/dist/server/app-response-stage-entry.d.ts +2 -1
- package/dist/server/app-response-stage-entry.js +3 -3
- package/dist/server/app-route-handler-cache.d.ts +2 -1
- package/dist/server/app-route-handler-dispatch.d.ts +2 -1
- package/dist/server/app-route-handler-dispatch.js +4 -2
- package/dist/server/app-route-handler-execution.d.ts +4 -1
- package/dist/server/app-route-handler-execution.js +9 -2
- package/dist/server/app-route-handler-middleware-context.d.ts +2 -1
- package/dist/server/app-route-handler-middleware-context.js +3 -3
- package/dist/server/app-route-handler-response.d.ts +4 -2
- package/dist/server/app-route-handler-response.js +2 -2
- package/dist/server/app-route-handler-runtime.d.ts +4 -1
- package/dist/server/app-route-handler-runtime.js +20 -3
- package/dist/server/app-route-module-loader.d.ts +18 -1
- package/dist/server/app-route-module-loader.js +15 -6
- package/dist/server/app-route-tree-prefetch.d.ts +2 -1
- package/dist/server/app-route-tree.d.ts +20 -0
- package/dist/server/app-route-tree.js +18 -0
- package/dist/server/app-router-entry.js +2 -2
- package/dist/server/app-rsc-combined-handler.js +8 -1
- package/dist/server/app-rsc-error-handler.d.ts +2 -1
- package/dist/server/app-rsc-errors.d.ts +9 -1
- package/dist/server/app-rsc-errors.js +9 -2
- package/dist/server/app-rsc-handler.d.ts +6 -2
- package/dist/server/app-rsc-handler.js +152 -140
- package/dist/server/app-rsc-response-finalizer.d.ts +7 -1
- package/dist/server/app-rsc-response-finalizer.js +4 -1
- package/dist/server/app-rsc-response-stage.js +3 -1
- package/dist/server/app-rsc-route-matching.d.ts +39 -1
- package/dist/server/app-rsc-route-matching.js +25 -1
- 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 +25 -7
- package/dist/server/app-server-action-execution.js +53 -59
- package/dist/server/app-ssr-entry.d.ts +12 -0
- package/dist/server/app-ssr-entry.js +104 -48
- 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 +29 -10
- package/dist/server/app-ssr-stream.js +311 -67
- 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 +2 -1
- package/dist/server/app-worker-stages.d.ts +2 -1
- package/dist/server/artifact-compatibility.d.ts +2 -1
- package/dist/server/bfcache-identity.d.ts +2 -1
- package/dist/server/cache-headers.d.ts +2 -1
- package/dist/server/cacheability-request.d.ts +2 -1
- package/dist/server/client-reuse-manifest.d.ts +2 -1
- package/dist/server/config-headers.d.ts +2 -1
- package/dist/server/config-headers.js +12 -3
- 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 +10 -3
- 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/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/isolate-shared-promise.d.ts +10 -0
- package/dist/server/isolate-shared-promise.js +33 -0
- package/dist/server/isr-cache.js +3 -2
- 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 +1 -1
- package/dist/server/metadata-routes.d.ts +2 -1
- package/dist/server/middleware-matcher-pattern.d.ts +0 -1
- package/dist/server/middleware-matcher-pattern.js +11 -140
- package/dist/server/middleware-matcher.js +5 -6
- package/dist/server/middleware-response-headers.d.ts +31 -0
- package/dist/server/middleware-response-headers.js +57 -1
- package/dist/server/middleware-runtime.d.ts +2 -1
- package/dist/server/middleware-runtime.js +26 -13
- package/dist/server/navigation-planner.d.ts +2 -2
- 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 +39 -0
- package/dist/server/nitro-public-files-plugin.js +106 -0
- package/dist/server/nitro-public-files.d.ts +22 -0
- package/dist/server/nitro-public-files.js +39 -0
- 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-asset-tags.d.ts +7 -1
- package/dist/server/pages-asset-tags.js +9 -2
- package/dist/server/pages-body-parser-config.d.ts +2 -1
- package/dist/server/pages-client-assets.d.ts +8 -1
- 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-i18n.d.ts +18 -0
- package/dist/server/pages-i18n.js +18 -2
- package/dist/server/pages-node-compat.d.ts +5 -3
- package/dist/server/pages-node-compat.js +35 -16
- 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 +16 -7
- 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 +8 -2
- package/dist/server/pages-request-pipeline.js +35 -40
- package/dist/server/pages-request-stage-entry.d.ts +2 -1
- package/dist/server/pages-request-stage-entry.js +16 -6
- package/dist/server/pages-response-stage-entry.d.ts +2 -1
- package/dist/server/pages-response-stage-entry.js +1 -1
- package/dist/server/pages-revalidate.js +1 -0
- package/dist/server/pages-route-data-kind.d.ts +2 -1
- package/dist/server/pages-router-entry.js +1 -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.d.ts +2 -2
- package/dist/server/prod-server.js +80 -36
- package/dist/server/proxy-trust.d.ts +6 -0
- package/dist/server/proxy-trust.js +12 -6
- package/dist/server/request-log.d.ts +2 -1
- package/dist/server/request-pipeline.d.ts +5 -0
- package/dist/server/request-pipeline.js +12 -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/server-reference-loader.js +10 -1
- package/dist/server/static-file-cache.d.ts +2 -1
- package/dist/server/static-file-cache.js +16 -3
- package/dist/server/static-layout-client-reuse-proof.d.ts +2 -1
- package/dist/server/worker-revalidation-context.d.ts +2 -1
- package/dist/server/worker-stages.d.ts +2 -1
- package/dist/server/worker-utils.js +1 -1
- 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 +32 -11
- package/dist/shims/cache-request-state.d.ts +40 -3
- package/dist/shims/cache-request-state.js +70 -5
- package/dist/shims/cache-runtime.js +47 -19
- package/dist/shims/cache.d.ts +2 -2
- package/dist/shims/cache.js +17 -8
- 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-purge-routes.d.ts +25 -0
- package/dist/shims/cdn-purge-routes.js +77 -0
- package/dist/shims/client-locale.js +2 -1
- package/dist/shims/client-page-root.d.ts +2 -1
- 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 +17 -4
- package/dist/shims/error-boundary.d.ts +39 -3
- package/dist/shims/error-boundary.js +31 -16
- 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 +9 -4
- 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-props.d.ts +93 -0
- package/dist/shims/image-props.js +323 -0
- package/dist/shims/image.d.ts +4 -39
- package/dist/shims/image.js +4 -319
- 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 +9 -0
- package/dist/shims/internal/headers-state.js +19 -2
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -2
- package/dist/shims/internal/hybrid-client-route-owner-direct.js +31 -14
- package/dist/shims/internal/hybrid-client-route-owner.js +8 -8
- package/dist/shims/internal/interpolate-as.d.ts +2 -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 +198 -53
- package/dist/shims/metadata.d.ts +32 -11
- package/dist/shims/metadata.js +88 -26
- package/dist/shims/navigation-errors.d.ts +2 -1
- package/dist/shims/navigation.d.ts +23 -3
- package/dist/shims/navigation.js +91 -25
- package/dist/shims/og.js +35 -10
- package/dist/shims/pages-router-runtime.d.ts +2 -1
- package/dist/shims/ppr-fallback-shell.d.ts +2 -1
- package/dist/shims/request-context.d.ts +13 -0
- package/dist/shims/router.js +33 -43
- package/dist/shims/server.d.ts +31 -4
- package/dist/shims/server.js +58 -10
- package/dist/shims/thenable-params.d.ts +6 -1
- package/dist/shims/thenable-params.js +11 -2
- package/dist/shims/unified-request-context.d.ts +5 -0
- package/dist/shims/unified-request-context.js +5 -3
- package/dist/typegen.d.ts +2 -1
- package/dist/utils/asset-prefix.d.ts +7 -0
- package/dist/utils/asset-prefix.js +10 -1
- package/dist/utils/client-build-manifest.d.ts +4 -1
- package/dist/utils/client-build-manifest.js +20 -6
- 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 +10 -1
- package/dist/utils/client-runtime-metadata.js +53 -9
- package/dist/utils/compare.d.ts +9 -0
- package/dist/utils/compare.js +15 -1
- package/dist/utils/lazy-chunks.d.ts +18 -0
- package/dist/utils/lazy-chunks.js +27 -1
- package/dist/utils/manifest-paths.d.ts +14 -0
- package/dist/utils/manifest-paths.js +22 -1
- package/dist/utils/middleware-request-headers.d.ts +2 -1
- package/dist/utils/path-to-regexp.d.ts +21 -0
- package/dist/{server/middleware-path-to-regexp.js → utils/path-to-regexp.js} +14 -11
- package/dist/utils/plugin-react-version.d.ts +15 -0
- package/dist/utils/plugin-react-version.js +64 -0
- package/dist/utils/project.d.ts +2 -1
- package/dist/utils/project.js +9 -1
- package/dist/utils/public-routes.d.ts +2 -0
- package/dist/utils/public-routes.js +18 -7
- package/dist/utils/query.d.ts +2 -1
- package/dist/utils/sorted-array.d.ts +2 -1
- package/dist/utils/vite-cli-invocation.d.ts +2 -1
- package/package.json +5 -5
- package/dist/deps/.pnpm/image-size@2.0.2/deps/image-size/dist/index.js +0 -808
- package/dist/server/default-not-found-module.d.ts +0 -19
- package/dist/server/default-not-found-module.js +0 -18
- package/dist/server/middleware-path-to-regexp.d.ts +0 -13
- package/dist/server/rsc-stream-hints.d.ts +0 -21
- package/dist/server/rsc-stream-hints.js +0 -227
- package/dist/utils/regex-safety.d.ts +0 -17
- package/dist/utils/regex-safety.js +0 -789
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
|
|
1
2
|
import { notFoundResponse } from "./http-error-responses.js";
|
|
2
3
|
import { isOpenRedirectShaped, repeatedSlashRedirectResponse } from "./open-redirect.js";
|
|
3
4
|
import "./server-globals.js";
|
|
@@ -8,21 +9,23 @@ import { appendAssetDeploymentIdQuery } from "../utils/deployment-id.js";
|
|
|
8
9
|
import { withScriptNonce } from "../shims/script-nonce-context.js";
|
|
9
10
|
import { createInlineScriptTag, createNonceAttribute, escapeHtmlAttr, safeJsonStringify } from "./html.js";
|
|
10
11
|
import { getClientTraceMetadataHTML, markClientTraceMetadataBlock } from "./client-trace-metadata.js";
|
|
11
|
-
import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
|
|
12
12
|
import { setPagesClientAssets } from "./pages-client-assets.js";
|
|
13
13
|
import { AppElementsWire } from "./app-elements-wire.js";
|
|
14
14
|
import "./app-elements.js";
|
|
15
15
|
import { ServerInsertedHTMLContext, clearServerInsertedHTML, getBfcacheIdMapContext, registerServerInsertedHTMLCallback, renderServerInsertedHTML, setNavigationContext } from "../shims/navigation-context-state.js";
|
|
16
16
|
import "../shims/navigation-server.js";
|
|
17
17
|
import DefaultGlobalError from "../shims/default-global-error.js";
|
|
18
|
-
import {
|
|
18
|
+
import { CAUGHT_NOT_FOUND_BOUNDARIES_GLOBAL, withCaughtNotFoundBoundaries } from "../shims/caught-not-found-boundaries.js";
|
|
19
|
+
import { BfcacheIdentityMapContext } from "../shims/slot.js";
|
|
19
20
|
import { getNextErrorDigest } from "./next-error-digest.js";
|
|
20
21
|
import { createSsrErrorMetaRenderer } from "./app-ssr-error-meta.js";
|
|
21
22
|
import { createRenderStreamCancellation, isAppRenderAbortError } from "./app-render-abort-error.js";
|
|
22
23
|
import { RSC_FORM_STATE_GLOBAL } from "../client/browser-globals.js";
|
|
23
|
-
import { createNavigationRuntimeRenderedSearchScript, createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform, waitAtLeastOneReactRenderTask } from "./app-ssr-stream.js";
|
|
24
|
+
import { createNavigationRuntimeRenderedSearchScript, createNavigationRuntimeRscCompatibilityScript, createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform, rewriteInlineCssStylesheetLinks, waitAtLeastOneReactRenderTask } from "./app-ssr-stream.js";
|
|
24
25
|
import { createInitialBfcacheMaps } from "./app-bfcache-identity.js";
|
|
25
|
-
import {
|
|
26
|
+
import { createAppRouteTree } from "./app-route-tree.js";
|
|
27
|
+
import { ssrServerConsumerManifest } from "./app-client-reference-manifest.js";
|
|
28
|
+
import { createClientReferencePreloader, resolveRouteClientReferences } from "./app-client-reference-preloader.js";
|
|
26
29
|
import { createClientPageSsrSearchParamsSource } from "./app-page-search-params-observation.js";
|
|
27
30
|
import { runWithRootParamsScope } from "../shims/root-params.js";
|
|
28
31
|
import { runWithNavigationContext } from "../shims/navigation-state.js";
|
|
@@ -31,12 +34,13 @@ import { withAppRouterTree } from "../shims/app-router-tree-context.js";
|
|
|
31
34
|
import { BeforeInteractiveContext } from "../shims/before-interactive-context.js";
|
|
32
35
|
import { renderBeforeInteractiveInlineScripts } from "./before-interactive-head.js";
|
|
33
36
|
import { createInitialDevServerErrorScript } from "./dev-initial-server-error.js";
|
|
37
|
+
import { createStreamedClientReferences, renderStreamedStylesheets, resetStreamedClientReferences, runWithStreamedClientReferences, wrapClientReferenceRequire } from "./app-streamed-client-references.js";
|
|
34
38
|
import { ssrAppRouterInstance } from "./app-ssr-router-instance.js";
|
|
35
39
|
import { Fragment, createElement, use } from "react";
|
|
36
|
-
import { renderToReadableStream, renderToStaticMarkup } from "react-dom/server
|
|
37
|
-
import { preinitModule } from "react-dom";
|
|
40
|
+
import { renderToReadableStream, renderToStaticMarkup } from "react-dom/server";
|
|
41
|
+
import { preinitModule, preloadModule } from "react-dom";
|
|
38
42
|
import { createFromReadableStream } from "@vitejs/plugin-rsc/ssr";
|
|
39
|
-
import clientReferences from "virtual:vite-rsc/client-references";
|
|
43
|
+
import clientReferences, { routeClientReferences } from "virtual:vite-rsc/client-references";
|
|
40
44
|
import pagesClientAssets from "virtual:vinext-pages-client-assets";
|
|
41
45
|
//#region src/server/app-ssr-entry.ts
|
|
42
46
|
setPagesClientAssets(pagesClientAssets);
|
|
@@ -47,33 +51,18 @@ setPagesClientAssets(pagesClientAssets);
|
|
|
47
51
|
* the response-layer combine cap.
|
|
48
52
|
*/
|
|
49
53
|
const DEFAULT_REACT_MAX_HEADERS_LENGTH = 6e3;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
54
|
+
/**
|
|
55
|
+
* plugin-rsc's SSR `createFromReadableStream` spreads these over its own
|
|
56
|
+
* options, whose type leaves out the consumer manifest.
|
|
57
|
+
*/
|
|
58
|
+
const SSR_FLIGHT_OPTIONS = { serverConsumerManifest: ssrServerConsumerManifest };
|
|
55
59
|
function isStaticPrerenderModule(value) {
|
|
56
60
|
return typeof value === "object" && value !== null && "prerender" in value && typeof value.prerender === "function";
|
|
57
61
|
}
|
|
58
62
|
async function loadStaticPrerender() {
|
|
59
|
-
const staticRenderer = await import("react-dom/static
|
|
63
|
+
const staticRenderer = await import("react-dom/static");
|
|
60
64
|
if (isStaticPrerenderModule(staticRenderer)) return staticRenderer.prerender;
|
|
61
|
-
|
|
62
|
-
const [{ createRequire }, path] = await Promise.all([import("node:module"), import("node:path")]);
|
|
63
|
-
const reactDomPackageJson = createRequire(import.meta.url).resolve("react-dom/package.json");
|
|
64
|
-
const reactDomDir = path.dirname(reactDomPackageJson);
|
|
65
|
-
const devRenderer = await import(
|
|
66
|
-
/* @vite-ignore */
|
|
67
|
-
path.join(reactDomDir, "cjs/react-dom-server.edge.development.js")
|
|
68
|
-
);
|
|
69
|
-
if (isStaticPrerenderModule(devRenderer)) return devRenderer.prerender;
|
|
70
|
-
const devRendererDefault = typeof devRenderer === "object" && devRenderer !== null && "default" in devRenderer && devRenderer.default;
|
|
71
|
-
if (isStaticPrerenderModule(devRendererDefault)) return devRendererDefault.prerender;
|
|
72
|
-
throw new Error("react-dom development renderer did not expose prerender().");
|
|
73
|
-
} catch (error) {
|
|
74
|
-
throw new Error("[vinext] Failed to load React static development renderer.", { cause: error });
|
|
75
|
-
}
|
|
76
|
-
throw new Error("[vinext] react-dom/static.edge did not expose prerender().");
|
|
65
|
+
throw new Error("[vinext] react-dom/static did not expose prerender().");
|
|
77
66
|
}
|
|
78
67
|
function createUtf8Stream(html) {
|
|
79
68
|
const encoder = new TextEncoder();
|
|
@@ -84,7 +73,7 @@ function createUtf8Stream(html) {
|
|
|
84
73
|
}
|
|
85
74
|
function buildBootstrapModuleScript(bootstrapModuleUrl, nonce) {
|
|
86
75
|
if (!bootstrapModuleUrl) return "";
|
|
87
|
-
return `<script type="module"${createNonceAttribute(nonce)} src="` + escapeHtmlAttr(bootstrapModuleUrl) + "\" id=\"_R_\" async=\"\"><\/script>";
|
|
76
|
+
return `<script type="module"${createNonceAttribute(nonce)} src="` + escapeHtmlAttr(bootstrapModuleUrl) + "\" id=\"_R_\" async=\"\" fetchPriority=\"low\"><\/script>";
|
|
88
77
|
}
|
|
89
78
|
function renderSsrErrorDocumentShell(bootstrapModuleUrl, nonce) {
|
|
90
79
|
const html = renderToStaticMarkup(createElement(DefaultGlobalError, { error: null })).replace("<style>", "<style data-vinext-error-shell-style=\"\">");
|
|
@@ -94,6 +83,10 @@ function renderSsrErrorDocumentShell(bootstrapModuleUrl, nonce) {
|
|
|
94
83
|
if (!html.endsWith(documentClose)) return createUtf8Stream(`<!DOCTYPE html>${html}${bootstrapScript}`);
|
|
95
84
|
return createUtf8Stream(`<!DOCTYPE html>${html.slice(0, -14)}${bootstrapScript}${documentClose}`);
|
|
96
85
|
}
|
|
86
|
+
if (process.env.NODE_ENV === "production") {
|
|
87
|
+
const async = routeClientReferences?.async;
|
|
88
|
+
wrapClientReferenceRequire(new Set(Array.isArray(async) ? async.map((index) => routeClientReferences.references[index]) : []), (id) => clientReferences[id]);
|
|
89
|
+
}
|
|
97
90
|
const clientReferencePreloader = createClientReferencePreloader({
|
|
98
91
|
getReferences() {
|
|
99
92
|
return clientReferences;
|
|
@@ -157,14 +150,18 @@ function extractBootstrapModuleUrl(bootstrapScriptContent) {
|
|
|
157
150
|
}
|
|
158
151
|
function buildModulePreloadHtml(bootstrapModuleUrl, nonce) {
|
|
159
152
|
if (!bootstrapModuleUrl) return "";
|
|
160
|
-
return `<link rel="modulepreload"${createNonceAttribute(nonce)} href="${escapeHtmlAttr(bootstrapModuleUrl)}" crossorigin="${pagesClientAssets.crossOrigin ?? ""}" />\n`;
|
|
153
|
+
return `<link rel="modulepreload"${createNonceAttribute(nonce)} href="${escapeHtmlAttr(bootstrapModuleUrl)}" crossorigin="${pagesClientAssets.crossOrigin ?? ""}" fetchPriority="low" />\n`;
|
|
161
154
|
}
|
|
162
|
-
function buildHeadInjectionHtml(navContext,
|
|
155
|
+
function buildHeadInjectionHtml(navContext, bootstrapPreloadUrl, formState, insertedHTML, fontHTML, dynamicStaleTimeSeconds, searchParamsFromBrowser, scriptNonce) {
|
|
163
156
|
const navPayload = {
|
|
164
157
|
pathname: navContext.pathname,
|
|
165
158
|
searchParams: [...navContext.searchParams.entries()]
|
|
166
159
|
};
|
|
167
|
-
|
|
160
|
+
const rscMetadataScript = createInlineScriptTag(createNavigationRuntimeRscMetadataScript(navContext.params, navPayload, dynamicStaleTimeSeconds, searchParamsFromBrowser), scriptNonce);
|
|
161
|
+
const compatibilityScript = createNavigationRuntimeRscCompatibilityScript();
|
|
162
|
+
const rscCompatibilityScript = compatibilityScript === "" ? "" : createInlineScriptTag(compatibilityScript, scriptNonce);
|
|
163
|
+
const formStateScript = formState === null ? "" : createInlineScriptTag("self[" + safeJsonStringify(RSC_FORM_STATE_GLOBAL) + "]=" + safeJsonStringify(formState), scriptNonce);
|
|
164
|
+
return rscMetadataScript + rscCompatibilityScript + formStateScript + buildModulePreloadHtml(bootstrapPreloadUrl, scriptNonce) + insertedHTML + fontHTML;
|
|
168
165
|
}
|
|
169
166
|
function requireNavigationContext(navContext) {
|
|
170
167
|
if (!navContext) throw new Error("App SSR requires navigation context for BFCache state keys");
|
|
@@ -189,7 +186,9 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
189
186
|
isPprFallbackShell: options?.pprFallbackShellSignal !== void 0
|
|
190
187
|
})
|
|
191
188
|
};
|
|
192
|
-
|
|
189
|
+
const routeReferences = options?.pprFallbackShellSignal ? void 0 : resolveRouteClientReferences(routeClientReferences, options?.preloadRoutePattern);
|
|
190
|
+
const streamedReferences = createStreamedClientReferences(routeReferences, options?.scriptNonce, assetCrossOrigin);
|
|
191
|
+
await clientReferencePreloader.preload(routeReferences?.references, streamedReferences?.streamed);
|
|
193
192
|
setNavigationContext(ssrNavigationContext);
|
|
194
193
|
clearServerInsertedHTML();
|
|
195
194
|
const cleanup = () => {
|
|
@@ -225,9 +224,16 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
225
224
|
for (const moduleUrl of pagesClientAssets.appBootstrapPreinitModules ?? []) preinitModule(moduleUrl, {
|
|
226
225
|
as: "script",
|
|
227
226
|
crossOrigin: assetCrossOrigin,
|
|
227
|
+
fetchPriority: "low",
|
|
228
|
+
nonce: options?.scriptNonce
|
|
229
|
+
});
|
|
230
|
+
if (pagesClientAssets.appRouteManifestModule) preloadModule(pagesClientAssets.appRouteManifestModule, {
|
|
231
|
+
as: "script",
|
|
232
|
+
crossOrigin: assetCrossOrigin,
|
|
233
|
+
fetchPriority: "low",
|
|
228
234
|
nonce: options?.scriptNonce
|
|
229
235
|
});
|
|
230
|
-
if (!flightRoot) flightRoot = createFromReadableStream(ssrStream);
|
|
236
|
+
if (!flightRoot) flightRoot = createFromReadableStream(ssrStream, SSR_FLIGHT_OPTIONS);
|
|
231
237
|
const wireElements = use(flightRoot);
|
|
232
238
|
const elements = AppElementsWire.decode(wireElements);
|
|
233
239
|
const metadata = AppElementsWire.readMetadata(elements);
|
|
@@ -235,7 +241,11 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
235
241
|
elements,
|
|
236
242
|
metadata
|
|
237
243
|
});
|
|
238
|
-
const routeTree =
|
|
244
|
+
const routeTree = createAppRouteTree({
|
|
245
|
+
elements,
|
|
246
|
+
historyCommit: null,
|
|
247
|
+
routeId: metadata.routeId
|
|
248
|
+
});
|
|
239
249
|
const identityMapTree = createElement(BfcacheIdentityMapContext.Provider, { value: bfcacheMaps.identities }, routeTree);
|
|
240
250
|
return BfcacheIdMapContext ? createElement(BfcacheIdMapContext.Provider, { value: bfcacheMaps.bfcacheIds }, identityMapTree) : identityMapTree;
|
|
241
251
|
}
|
|
@@ -281,29 +291,74 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
281
291
|
let htmlStream;
|
|
282
292
|
let renderComplete = Promise.resolve();
|
|
283
293
|
let shellErrorRecovered = false;
|
|
294
|
+
let caughtShellError;
|
|
295
|
+
let caughtBoundaries = null;
|
|
284
296
|
let shouldDelayInitialHtmlPull = false;
|
|
297
|
+
const prepareCaughtNotFoundRoot = (error) => {
|
|
298
|
+
const caughtNotFoundBoundaries = options?.resolveCaughtNotFoundBoundaries?.(error) ?? null;
|
|
299
|
+
if (!caughtNotFoundBoundaries || caughtNotFoundBoundaries.length === 0) return null;
|
|
300
|
+
const replayedRscStream = rscEmbed.replay({ keepOpen: pprFallbackShellSignal !== void 0 });
|
|
301
|
+
if (!replayedRscStream) return null;
|
|
302
|
+
ssrStream = replayedRscStream;
|
|
303
|
+
flightRoot = null;
|
|
304
|
+
beforeInteractiveInlineScripts.length = 0;
|
|
305
|
+
clearServerInsertedHTML();
|
|
306
|
+
resetStreamedClientReferences(streamedReferences, routeReferences);
|
|
307
|
+
const boundaries = {
|
|
308
|
+
ids: new Set(caughtNotFoundBoundaries),
|
|
309
|
+
rendered: /* @__PURE__ */ new Set()
|
|
310
|
+
};
|
|
311
|
+
caughtBoundaries = boundaries;
|
|
312
|
+
return withCaughtNotFoundBoundaries(boundaries, ssrRoot);
|
|
313
|
+
};
|
|
285
314
|
if (pprFallbackShellSignal) {
|
|
286
315
|
const prerender = await loadStaticPrerender();
|
|
287
|
-
const
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
316
|
+
const prerenderFallbackShell = async (root) => {
|
|
317
|
+
const htmlAbortController = new AbortController();
|
|
318
|
+
const pendingHtml = runWithStreamedClientReferences(streamedReferences, () => prerender(root, {
|
|
319
|
+
...renderOptions,
|
|
320
|
+
signal: htmlAbortController.signal
|
|
321
|
+
}));
|
|
322
|
+
setTimeout(() => htmlAbortController.abort(), 0);
|
|
323
|
+
return (await pendingHtml).prelude;
|
|
324
|
+
};
|
|
325
|
+
try {
|
|
326
|
+
htmlStream = await prerenderFallbackShell(ssrRoot);
|
|
327
|
+
} catch (error) {
|
|
328
|
+
const caughtRoot = prepareCaughtNotFoundRoot(error);
|
|
329
|
+
if (!caughtRoot) throw error;
|
|
330
|
+
htmlStream = await prerenderFallbackShell(caughtRoot);
|
|
331
|
+
caughtShellError = error;
|
|
332
|
+
}
|
|
294
333
|
} else {
|
|
295
334
|
let streamingHtmlStream;
|
|
296
335
|
try {
|
|
297
|
-
streamingHtmlStream = await renderToReadableStream(ssrRoot, { ...renderOptions });
|
|
336
|
+
streamingHtmlStream = await runWithStreamedClientReferences(streamedReferences, () => renderToReadableStream(ssrRoot, { ...renderOptions }));
|
|
298
337
|
renderComplete = streamingHtmlStream.allReady;
|
|
299
338
|
if (options?.waitForAllReady === true) await streamingHtmlStream.allReady;
|
|
300
339
|
else shouldDelayInitialHtmlPull = true;
|
|
301
340
|
htmlStream = streamingHtmlStream;
|
|
302
341
|
} catch (error) {
|
|
303
342
|
streamingHtmlStream?.cancel().catch(() => {});
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
343
|
+
const caughtRoot = prepareCaughtNotFoundRoot(error);
|
|
344
|
+
if (caughtRoot) {
|
|
345
|
+
let caughtHtmlStream;
|
|
346
|
+
try {
|
|
347
|
+
caughtHtmlStream = await runWithStreamedClientReferences(streamedReferences, () => renderToReadableStream(caughtRoot, renderOptions));
|
|
348
|
+
if (options?.waitForAllReady === true) await caughtHtmlStream.allReady;
|
|
349
|
+
} catch (caughtRenderError) {
|
|
350
|
+
caughtHtmlStream?.cancel().catch(() => {});
|
|
351
|
+
throw caughtRenderError;
|
|
352
|
+
}
|
|
353
|
+
renderComplete = caughtHtmlStream.allReady;
|
|
354
|
+
shouldDelayInitialHtmlPull = options?.waitForAllReady !== true;
|
|
355
|
+
caughtShellError = error;
|
|
356
|
+
htmlStream = caughtHtmlStream;
|
|
357
|
+
} else if (options?.fallbackToErrorDocumentOnShellError !== true || options?.waitForAllReady === true || typeof error?.digest === "string") throw error;
|
|
358
|
+
else {
|
|
359
|
+
shellErrorRecovered = true;
|
|
360
|
+
htmlStream = renderSsrErrorDocumentShell(bootstrapModuleUrl, options?.scriptNonce);
|
|
361
|
+
}
|
|
307
362
|
}
|
|
308
363
|
}
|
|
309
364
|
const inlineCssManifest = globalThis.__VINEXT_INLINE_CSS__;
|
|
@@ -338,7 +393,7 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
338
393
|
return buildHeadInjectionHtml(hidesQuery ? {
|
|
339
394
|
...ssrNavigationContext,
|
|
340
395
|
searchParams: new URLSearchParams()
|
|
341
|
-
} : ssrNavigationContext, bootstrapModuleUrl, options?.formState ?? null, insertedHTML + errorMetaHTML + getTraceMetaHTML() + initialDevServerErrorHTML, fontHTML, options?.dynamicStaleTimeSeconds, isSearchParamsFromBrowser, options?.scriptNonce);
|
|
396
|
+
} : ssrNavigationContext, shellErrorRecovered ? bootstrapModuleUrl : void 0, options?.formState ?? null, insertedHTML + errorMetaHTML + (caughtBoundaries === null ? "" : createInlineScriptTag(`self.${CAUGHT_NOT_FOUND_BOUNDARIES_GLOBAL}=${safeJsonStringify([...caughtBoundaries.rendered])}`, options?.scriptNonce)) + getTraceMetaHTML() + initialDevServerErrorHTML + rewriteInlineCssStylesheetLinks(renderStreamedStylesheets(streamedReferences), inlineCssManifest, "", options?.scriptNonce).html, fontHTML, options?.dynamicStaleTimeSeconds, isSearchParamsFromBrowser, options?.scriptNonce);
|
|
342
397
|
};
|
|
343
398
|
const getBeforeInteractiveHeadHTML = () => renderBeforeInteractiveInlineScripts(beforeInteractiveInlineScripts);
|
|
344
399
|
if (shouldDelayInitialHtmlPull) await waitAtLeastOneReactRenderTask();
|
|
@@ -348,6 +403,7 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
348
403
|
renderComplete,
|
|
349
404
|
capturedRscData: options?.capturedRscDataRef?.value ?? null,
|
|
350
405
|
shellErrorRecovered,
|
|
406
|
+
...caughtShellError === void 0 ? {} : { caughtShellError },
|
|
351
407
|
linkHeader: reactLinkHeader
|
|
352
408
|
};
|
|
353
409
|
} catch (error) {
|
|
@@ -9,4 +9,5 @@ type SsrErrorMetaRenderer = {
|
|
|
9
9
|
};
|
|
10
10
|
export declare function renderSsrErrorMetaTags(errors: readonly unknown[], options?: SsrErrorMetaRenderOptions): string;
|
|
11
11
|
export declare function createSsrErrorMetaRenderer(options?: SsrErrorMetaRenderOptions): SsrErrorMetaRenderer;
|
|
12
|
-
//#endregion
|
|
12
|
+
//#endregion
|
|
13
|
+
export {};
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
//#region src/server/app-ssr-stream.d.ts
|
|
2
2
|
type RscEmbedTransform = {
|
|
3
|
-
flush
|
|
4
|
-
|
|
3
|
+
/** UTF-8 bytes of the scripts for the chunks read since the last flush. */
|
|
4
|
+
flush(): Uint8Array | null;
|
|
5
|
+
finalize(): Promise<Uint8Array>;
|
|
5
6
|
/** Resolves when all raw bytes from the embed stream have been read. */
|
|
6
7
|
getRawBuffer(): Promise<ArrayBuffer>;
|
|
7
8
|
};
|
|
9
|
+
type ReplayableRscEmbedTransform = RscEmbedTransform & {
|
|
10
|
+
/**
|
|
11
|
+
* The embed stream again from its start, for a render that replaces one
|
|
12
|
+
* that already read it, or null once its bytes are released. `keepOpen`
|
|
13
|
+
* leaves it open after the last byte, like a PPR fallback shell's SSR
|
|
14
|
+
* stream, whose omitted references stay suspended.
|
|
15
|
+
*/
|
|
16
|
+
replay(options?: {
|
|
17
|
+
keepOpen?: boolean;
|
|
18
|
+
}): ReadableStream<Uint8Array> | null;
|
|
19
|
+
};
|
|
8
20
|
type RscEmbedTransformOptions = {
|
|
9
21
|
/**
|
|
10
22
|
* Mirror inline Flight chunks into Next.js's `self.__next_f` transport. A
|
|
@@ -26,12 +38,23 @@ export type InitialNavigationCacheMetadata = {
|
|
|
26
38
|
*/
|
|
27
39
|
staleTimeSeconds?: number;
|
|
28
40
|
};
|
|
41
|
+
type InlineCssRewriteResult = {
|
|
42
|
+
html: string;
|
|
43
|
+
consumedPrependCss: boolean;
|
|
44
|
+
};
|
|
29
45
|
export declare function waitAtLeastOneReactRenderTask(): Promise<void>;
|
|
30
46
|
export declare function navigationRuntimeRscBootstrapExpression(): string;
|
|
31
47
|
export declare function createNavigationRuntimeRscMetadataScript(params: Record<string, string | string[]>, nav: {
|
|
32
48
|
pathname: string;
|
|
33
49
|
searchParams: [string, string][];
|
|
34
50
|
}, dynamicStaleTimeSeconds?: number, searchParamsFromBrowser?: boolean): string;
|
|
51
|
+
/**
|
|
52
|
+
* The compatibility ID of the server rendering this page. The browser compares
|
|
53
|
+
* RSC responses against it, so it is sent with the page rather than inlined
|
|
54
|
+
* into the client bundle, where a per-build value would rename chunks on every
|
|
55
|
+
* build. Static export skips the check, so its pages omit it.
|
|
56
|
+
*/
|
|
57
|
+
export declare function createNavigationRuntimeRscCompatibilityScript(): string;
|
|
35
58
|
/**
|
|
36
59
|
* The query a client page read during SSR, for a render that turned dynamic
|
|
37
60
|
* after its head told the browser to read the query from its own URL.
|
|
@@ -41,13 +64,8 @@ export declare function createNavigationRuntimeRenderedSearchScript(search: stri
|
|
|
41
64
|
* Create a helper that progressively embeds RSC chunks as inline <script> tags.
|
|
42
65
|
* The browser entry turns the embedded chunks back into Uint8Array data.
|
|
43
66
|
*/
|
|
44
|
-
export declare function createRscEmbedTransform(embedStream: ReadableStream<Uint8Array>, optionsOrNonce?: RscEmbedTransformOptions | string):
|
|
45
|
-
|
|
46
|
-
* Fix invalid preload "as" values in server-rendered HTML.
|
|
47
|
-
* React Fizz emits <link rel="preload" as="stylesheet"> for CSS, but the
|
|
48
|
-
* HTML spec requires as="style" for <link rel="preload">.
|
|
49
|
-
*/
|
|
50
|
-
export declare function fixPreloadAs(html: string): string;
|
|
67
|
+
export declare function createRscEmbedTransform(embedStream: ReadableStream<Uint8Array>, optionsOrNonce?: RscEmbedTransformOptions | string): ReplayableRscEmbedTransform;
|
|
68
|
+
export declare function rewriteInlineCssStylesheetLinks(html: string, inlineCssManifest: InlineCssManifest | undefined, prependCss: string, ssrScriptNonce: string | undefined): InlineCssRewriteResult;
|
|
51
69
|
/**
|
|
52
70
|
* Create the tick-buffered HTML transform that injects RSC scripts between
|
|
53
71
|
* React Fizz flush cycles without corrupting split HTML chunks.
|
|
@@ -76,4 +94,5 @@ export declare function fixPreloadAs(html: string): string;
|
|
|
76
94
|
* position) ship as-is.
|
|
77
95
|
*/
|
|
78
96
|
export declare function createTickBufferedTransform(rscEmbed: RscEmbedTransform, injectHTML?: HtmlInsertion, injectAfterHeadOpenHTML?: HtmlInsertion, inlineCssManifest?: InlineCssManifest, inlineCssPrependCss?: string, inlineCssPrependFallbackHTML?: string, inlineCssScriptNonce?: string): TransformStream<Uint8Array, Uint8Array>;
|
|
79
|
-
//#endregion
|
|
97
|
+
//#endregion
|
|
98
|
+
export {};
|