vinext 1.3.0 → 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/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 +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/layout-classification.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 +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 +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 +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-rewrites.d.ts +2 -1
- package/dist/client/dev-error-overlay-store.d.ts +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 +3 -1
- package/dist/client/navigation-runtime.js +1 -1
- 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 +13 -1
- package/dist/config/next-config.js +29 -4
- 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 +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 +42 -12
- package/dist/entries/app-rsc-manifest.d.ts +2 -1
- package/dist/entries/app-rsc-manifest.js +53 -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 +1 -1
- 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 +102 -34
- 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 +2 -1
- 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 +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/worker-image-imports.js +1 -1
- package/dist/plugins/worker-use-server.d.ts +2 -1
- package/dist/routing/app-route-graph.d.ts +40 -0
- package/dist/routing/app-route-graph.js +122 -50
- 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/app-action-forwarding.d.ts +2 -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 +30 -6
- package/dist/server/app-browser-error.d.ts +2 -1
- 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 +2 -1
- package/dist/server/app-browser-navigation-controller.js +15 -10
- 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.js +1 -1
- package/dist/server/app-browser-stream.d.ts +2 -1
- package/dist/server/app-browser-visible-commit.d.ts +2 -1
- 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 +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 +4 -1
- 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-optimistic-routing.d.ts +18 -1
- package/dist/server/app-optimistic-routing.js +34 -1
- package/dist/server/app-page-boundary-render.d.ts +20 -2
- package/dist/server/app-page-boundary-render.js +221 -38
- 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 +14 -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 +163 -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 +35 -10
- 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 +2 -1
- 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 +31 -1
- package/dist/server/app-page-stream.js +23 -4
- package/dist/server/app-pages-bridge.d.ts +2 -1
- 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 +11 -1
- package/dist/server/app-render-dependency.js +26 -7
- 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-dispatch.d.ts +2 -1
- package/dist/server/app-route-handler-dispatch.js +1 -1
- package/dist/server/app-route-handler-execution.d.ts +2 -1
- package/dist/server/app-route-handler-response.d.ts +2 -1
- package/dist/server/app-route-handler-runtime.d.ts +2 -1
- 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-error-handler.d.ts +2 -1
- package/dist/server/app-rsc-errors.d.ts +2 -1
- package/dist/server/app-rsc-handler.d.ts +2 -1
- package/dist/server/app-rsc-handler.js +6 -10
- package/dist/server/app-rsc-response-finalizer.d.ts +2 -1
- 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 +2 -1
- package/dist/server/app-server-action-execution.js +3 -3
- package/dist/server/app-ssr-entry.d.ts +6 -0
- package/dist/server/app-ssr-entry.js +91 -44
- 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 +299 -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/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/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-runtime.d.ts +2 -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-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-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 +2 -1
- package/dist/server/pages-request-pipeline.js +4 -5
- package/dist/server/pages-request-stage-entry.d.ts +2 -1
- package/dist/server/pages-response-stage-entry.d.ts +2 -1
- 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 +9 -3
- package/dist/server/request-log.d.ts +2 -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/static-file-cache.d.ts +2 -1
- package/dist/server/static-file-cache.js +1 -0
- 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/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 +29 -9
- 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 +2 -1
- 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/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 +1 -1
- 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/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 +195 -52
- 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 +22 -2
- package/dist/shims/navigation.js +74 -20
- package/dist/shims/pages-router-runtime.d.ts +2 -1
- package/dist/shims/ppr-fallback-shell.d.ts +2 -1
- package/dist/shims/router.js +14 -3
- package/dist/shims/unified-request-context.js +3 -3
- package/dist/typegen.d.ts +2 -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 +2 -1
- package/dist/utils/project.js +9 -1
- 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/rsc-stream-hints.d.ts +0 -21
- package/dist/server/rsc-stream-hints.js +0 -227
|
@@ -11,7 +11,17 @@ 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
|
-
|
|
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
|
+
* `invokeAppComponent()`, with every error the component throws or rejects
|
|
22
|
+
* with replaced by `mapError(error)`, including its CSS-wrapped inner one's.
|
|
23
|
+
*/
|
|
24
|
+
export declare function invokeAppComponentMappingErrors(component: ComponentType<Record<string, unknown>>, props: Readonly<Record<string, unknown>>, mapError: (error: unknown) => unknown): ReactNode | Promise<ReactNode>;
|
|
15
25
|
export declare function registerAppElementRenderDependencies(elements: Readonly<Record<string, unknown>>, dependenciesByElementId: ReadonlyMap<string, AppRenderDependency>): void;
|
|
16
26
|
export declare function releaseAppElementRenderDependency(elements: Readonly<Record<string, unknown>>, elementId: string): void;
|
|
17
27
|
export declare function createAppRenderDependency(): AppRenderDependency;
|
|
@@ -15,14 +15,33 @@ function isReactOwnedAppComponent(component) {
|
|
|
15
15
|
if (candidate?.$$typeof === REACT_MEMO || candidate?.$$typeof === REACT_LAZY || candidate?.$$typeof === REACT_FORWARD_REF) return false;
|
|
16
16
|
return typeof candidate !== "function" || candidate.$$typeof === REACT_CLIENT_REFERENCE || candidate.prototype?.isReactComponent != null;
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* `mapError` replaces an error thrown by a CSS-wrapped export's inner
|
|
20
|
+
* component, which renders after this call returns. The caller maps the
|
|
21
|
+
* errors this call throws or rejects with.
|
|
22
|
+
*/
|
|
23
|
+
function invokeAppComponent(component, props, mapError) {
|
|
19
24
|
const candidate = component;
|
|
20
|
-
if (candidate.$$typeof === REACT_MEMO && candidate.type) return invokeAppComponent(candidate.type, props);
|
|
21
|
-
if (candidate.$$typeof === REACT_LAZY && candidate._init) return invokeAppComponent(candidate._init(candidate._payload), props);
|
|
25
|
+
if (candidate.$$typeof === REACT_MEMO && candidate.type) return invokeAppComponent(candidate.type, props, mapError);
|
|
26
|
+
if (candidate.$$typeof === REACT_LAZY && candidate._init) return invokeAppComponent(candidate._init(candidate._payload), props, mapError);
|
|
22
27
|
if (candidate.$$typeof === REACT_FORWARD_REF && candidate.render) return candidate.render(props, void 0);
|
|
23
28
|
if (isReactOwnedAppComponent(candidate)) return createElement(candidate, props);
|
|
24
29
|
const result = candidate(props);
|
|
25
|
-
return isPromiseLike(result) ? result : invokeCssWrappedComponent(result, props);
|
|
30
|
+
return isPromiseLike(result) ? result : invokeCssWrappedComponent(result, props, mapError);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* `invokeAppComponent()`, with every error the component throws or rejects
|
|
34
|
+
* with replaced by `mapError(error)`, including its CSS-wrapped inner one's.
|
|
35
|
+
*/
|
|
36
|
+
function invokeAppComponentMappingErrors(component, props, mapError) {
|
|
37
|
+
try {
|
|
38
|
+
const result = invokeAppComponent(component, props, mapError);
|
|
39
|
+
return isPromiseLike(result) ? Promise.resolve(result).catch((error) => {
|
|
40
|
+
throw mapError(error);
|
|
41
|
+
}) : result;
|
|
42
|
+
} catch (error) {
|
|
43
|
+
throw mapError(error);
|
|
44
|
+
}
|
|
26
45
|
}
|
|
27
46
|
/**
|
|
28
47
|
* Whether `elementProps` are what `createElement(type, props)` produces: the
|
|
@@ -48,7 +67,7 @@ function isElementOfProps(elementProps, props, defaultProps) {
|
|
|
48
67
|
* component from an element without props instead, as for an export without
|
|
49
68
|
* CSS.
|
|
50
69
|
*/
|
|
51
|
-
function invokeCssWrappedComponent(result, props) {
|
|
70
|
+
function invokeCssWrappedComponent(result, props, mapError) {
|
|
52
71
|
if (!isValidElement(result) || result.type !== Fragment || result.key !== null) return result;
|
|
53
72
|
const children = result.props.children;
|
|
54
73
|
if (!Array.isArray(children) || children.length !== 2) return result;
|
|
@@ -58,7 +77,7 @@ function invokeCssWrappedComponent(result, props) {
|
|
|
58
77
|
if (!isElementOfProps(inner.props, props, component.defaultProps)) return result;
|
|
59
78
|
const componentProps = inner.props;
|
|
60
79
|
function CssWrappedComponent() {
|
|
61
|
-
return invokeAppComponent(component, componentProps);
|
|
80
|
+
return mapError ? invokeAppComponentMappingErrors(component, componentProps, mapError) : invokeAppComponent(component, componentProps);
|
|
62
81
|
}
|
|
63
82
|
CssWrappedComponent.displayName = component.displayName ?? component.name;
|
|
64
83
|
return createElement(Fragment, null, css, createElement(CssWrappedComponent));
|
|
@@ -132,4 +151,4 @@ function renderAppComponentWithDependencyBarrier(component, props, dependency) {
|
|
|
132
151
|
return createElement(AppComponentDependencyBarrier);
|
|
133
152
|
}
|
|
134
153
|
//#endregion
|
|
135
|
-
export { createAppPageRenderDependency, createAppRenderDependency, invokeAppComponent, isAppClientReference, isAppRenderSuspension, isReactOwnedAppComponent, registerAppElementRenderDependencies, releaseAppElementRenderDependency, renderAfterAppDependencies, renderAppComponentWithDependencyBarrier };
|
|
154
|
+
export { createAppPageRenderDependency, createAppRenderDependency, invokeAppComponent, invokeAppComponentMappingErrors, isAppClientReference, isAppRenderSuspension, isReactOwnedAppComponent, registerAppElementRenderDependencies, releaseAppElementRenderDependency, renderAfterAppDependencies, renderAppComponentWithDependencyBarrier };
|
|
@@ -5,4 +5,5 @@ import { DispatchAppWorkerResponseStage } from "./app-worker-stages.js";
|
|
|
5
5
|
export type AppRequestStageEnv = Record<string, unknown>;
|
|
6
6
|
type AppRequestStageContext = ExecutionContextLike & VinextRequestStageContext;
|
|
7
7
|
export declare function handleRequestStage(request: Request, env: AppRequestStageEnv | undefined, ctx: AppRequestStageContext | undefined, dispatchResponseStage: DispatchAppWorkerResponseStage): Promise<Response>;
|
|
8
|
-
//#endregion
|
|
8
|
+
//#endregion
|
|
9
|
+
export {};
|
|
@@ -6,4 +6,5 @@ type AppResponseStageEnv = Record<string, unknown>;
|
|
|
6
6
|
/** Invoke one transformed public cache function without rendering its owning route. */
|
|
7
7
|
export declare function invokeCacheFunction(invocation: VinextCacheFunctionInvocation, env: AppResponseStageEnv | undefined, platformCtx: ExecutionContextLike | undefined, dispatchRequestStage: VinextRequestStageTransport): Promise<void>;
|
|
8
8
|
export declare function handleResponseStage(request: Request, env: AppResponseStageEnv | undefined, platformCtx: ExecutionContextLike | undefined, props: AppWorkerResponseStageProps, dispatchRequestStage: VinextRequestStageTransport, options?: VinextResponseStageDispatchOptions): Promise<Response>;
|
|
9
|
-
//#endregion
|
|
9
|
+
//#endregion
|
|
10
|
+
export {};
|
|
@@ -14,9 +14,9 @@ import { resolveAppRouteHandlerFetchCacheMode } from "./app-segment-config.js";
|
|
|
14
14
|
import { setNavigationContext } from "../shims/navigation-context-state.js";
|
|
15
15
|
import { makeThenableParams } from "../shims/thenable-params.js";
|
|
16
16
|
import { traceResponseStart } from "./response-start-tracing.js";
|
|
17
|
-
import { buildPageCacheTags } from "./implicit-tags.js";
|
|
18
17
|
import { applyRouteHandlerMiddlewareContext, finalizeRouteHandlerResponse } from "./app-route-handler-response.js";
|
|
19
18
|
import "../shims/navigation.js";
|
|
19
|
+
import { buildPageCacheTags } from "./implicit-tags.js";
|
|
20
20
|
import { isKnownDynamicAppRoute, isValidHTTPMethod } from "./app-route-handler-runtime.js";
|
|
21
21
|
import { getAppRouteHandlerRevalidateSeconds, hasAppRouteHandlerDefaultExport, hasNonStaticAppRouteHandlerMethods, resolveAppRouteHandlerMethod, shouldReadAppRouteHandlerCache } from "./app-route-handler-policy.js";
|
|
22
22
|
import { createStaticGenerationHeadersContext } from "./app-static-generation.js";
|
|
@@ -104,4 +104,5 @@ type ExecuteAppRouteHandlerOptions = {
|
|
|
104
104
|
export declare function runAppRouteHandler(options: RunAppRouteHandlerOptions): Promise<RunAppRouteHandlerResult>;
|
|
105
105
|
export declare function executeAppRouteHandler(options: ExecuteAppRouteHandlerOptions): Promise<Response>;
|
|
106
106
|
export declare function traceAppRouteHandlerExecution<T>(routePattern: string, callback: (span: FrameworkSpan) => T): T;
|
|
107
|
-
//#endregion
|
|
107
|
+
//#endregion
|
|
108
|
+
export {};
|
|
@@ -26,4 +26,5 @@ export declare function applyRouteHandlerRevalidateHeader(response: Response, re
|
|
|
26
26
|
export declare function markRouteHandlerCacheMiss(response: Response): void;
|
|
27
27
|
export declare function buildAppRouteCacheValue(response: Response, browserCacheControl?: string): Promise<CachedRouteValue>;
|
|
28
28
|
export declare function finalizeRouteHandlerResponse(response: Response, options: FinalizeRouteHandlerResponseOptions): Response;
|
|
29
|
-
//#endregion
|
|
29
|
+
//#endregion
|
|
30
|
+
export {};
|
|
@@ -43,6 +43,14 @@ type LazyLoadableIntercept = {
|
|
|
43
43
|
__loadInterceptLayouts?: LazyModuleLoaderArray | null;
|
|
44
44
|
interceptLoadings?: readonly unknown[] | null;
|
|
45
45
|
__loadInterceptLoadings?: LazyModuleLoaderArray | null;
|
|
46
|
+
interceptNotFounds?: readonly unknown[] | null;
|
|
47
|
+
__loadInterceptNotFounds?: LazyModuleLoaderArray | null;
|
|
48
|
+
interceptForbiddens?: readonly unknown[] | null;
|
|
49
|
+
__loadInterceptForbiddens?: LazyModuleLoaderArray | null;
|
|
50
|
+
interceptUnauthorizeds?: readonly unknown[] | null;
|
|
51
|
+
__loadInterceptUnauthorizeds?: LazyModuleLoaderArray | null;
|
|
52
|
+
interceptErrors?: readonly unknown[] | null;
|
|
53
|
+
__loadInterceptErrors?: LazyModuleLoaderArray | null;
|
|
46
54
|
__loadState?: {
|
|
47
55
|
page?: unknown;
|
|
48
56
|
pageLoading?: Promise<unknown> | null;
|
|
@@ -60,6 +68,7 @@ type LazyLoadableSlot = {
|
|
|
60
68
|
loadings?: readonly unknown[];
|
|
61
69
|
error?: unknown;
|
|
62
70
|
notFound?: unknown;
|
|
71
|
+
notFounds?: readonly unknown[];
|
|
63
72
|
__loadPage?: LazyModuleThunk | null;
|
|
64
73
|
__loadDefault?: LazyModuleThunk | null;
|
|
65
74
|
__loadLayout?: LazyModuleThunk | null;
|
|
@@ -68,6 +77,7 @@ type LazyLoadableSlot = {
|
|
|
68
77
|
__loadLoadings?: LazyModuleLoaderArray | null;
|
|
69
78
|
__loadError?: LazyModuleThunk | null;
|
|
70
79
|
__loadNotFound?: LazyModuleThunk | null;
|
|
80
|
+
__loadNotFounds?: LazyModuleLoaderArray | null;
|
|
71
81
|
/** Hydrated only after an intercept matches, not with the slot's base modules. */
|
|
72
82
|
intercepts?: LazyLoadableIntercept[];
|
|
73
83
|
};
|
|
@@ -82,6 +92,9 @@ export type LazyLoadableRoute = {
|
|
|
82
92
|
notFounds?: unknown[];
|
|
83
93
|
forbiddens?: unknown[];
|
|
84
94
|
unauthorizeds?: unknown[];
|
|
95
|
+
segmentNotFounds?: unknown[];
|
|
96
|
+
segmentForbiddens?: unknown[];
|
|
97
|
+
segmentUnauthorizeds?: unknown[];
|
|
85
98
|
loading?: unknown;
|
|
86
99
|
error?: unknown;
|
|
87
100
|
notFound?: unknown;
|
|
@@ -101,6 +114,9 @@ export type LazyLoadableRoute = {
|
|
|
101
114
|
__loadNotFounds?: LazyModuleLoaderArray | null;
|
|
102
115
|
__loadForbiddens?: LazyModuleLoaderArray | null;
|
|
103
116
|
__loadUnauthorizeds?: LazyModuleLoaderArray | null;
|
|
117
|
+
__loadSegmentNotFounds?: LazyModuleLoaderArray | null;
|
|
118
|
+
__loadSegmentForbiddens?: LazyModuleLoaderArray | null;
|
|
119
|
+
__loadSegmentUnauthorizeds?: LazyModuleLoaderArray | null;
|
|
104
120
|
__loadLoading?: LazyModuleThunk | null;
|
|
105
121
|
__loadError?: LazyModuleThunk | null;
|
|
106
122
|
__loadNotFound?: LazyModuleThunk | null;
|
|
@@ -123,4 +139,5 @@ export declare function loadAppInterceptLayouts(intercept: LazyLoadableIntercept
|
|
|
123
139
|
* `null`/`undefined` routes and on eager routes that have no lazy thunks.
|
|
124
140
|
*/
|
|
125
141
|
export declare function ensureAppRouteModulesLoaded<TRoute extends LazyLoadableRoute>(route: TRoute | null | undefined): TRoute | Promise<TRoute>;
|
|
126
|
-
//#endregion
|
|
142
|
+
//#endregion
|
|
143
|
+
export {};
|
|
@@ -92,6 +92,10 @@ function loadAppInterceptLayouts(intercept) {
|
|
|
92
92
|
const loads = [];
|
|
93
93
|
pushArrayLoads(loads, intercept.interceptLayouts, intercept.__loadInterceptLayouts);
|
|
94
94
|
pushArrayLoads(loads, intercept.interceptLoadings, intercept.__loadInterceptLoadings);
|
|
95
|
+
pushArrayLoads(loads, intercept.interceptNotFounds, intercept.__loadInterceptNotFounds);
|
|
96
|
+
pushArrayLoads(loads, intercept.interceptForbiddens, intercept.__loadInterceptForbiddens);
|
|
97
|
+
pushArrayLoads(loads, intercept.interceptUnauthorizeds, intercept.__loadInterceptUnauthorizeds);
|
|
98
|
+
pushArrayLoads(loads, intercept.interceptErrors, intercept.__loadInterceptErrors);
|
|
95
99
|
if (loads.length === 0) return Promise.resolve(intercept.interceptLayouts ?? []);
|
|
96
100
|
const loading = shareIsolatePromise(Promise.all(loads).then(() => {
|
|
97
101
|
if (loadState) loadState.interceptLayoutsLoading = null;
|
|
@@ -130,6 +134,9 @@ function ensureAppRouteModulesLoaded(route) {
|
|
|
130
134
|
pushArrayLoads(loads, route.notFounds, route.__loadNotFounds);
|
|
131
135
|
pushArrayLoads(loads, route.forbiddens, route.__loadForbiddens);
|
|
132
136
|
pushArrayLoads(loads, route.unauthorizeds, route.__loadUnauthorizeds);
|
|
137
|
+
pushArrayLoads(loads, route.segmentNotFounds, route.__loadSegmentNotFounds);
|
|
138
|
+
pushArrayLoads(loads, route.segmentForbiddens, route.__loadSegmentForbiddens);
|
|
139
|
+
pushArrayLoads(loads, route.segmentUnauthorizeds, route.__loadSegmentUnauthorizeds);
|
|
133
140
|
for (const slot of Object.values(route.slots ?? {})) {
|
|
134
141
|
pushFieldLoad(loads, slot, "page", slot.__loadPage);
|
|
135
142
|
pushFieldLoad(loads, slot, "default", slot.__loadDefault);
|
|
@@ -139,6 +146,7 @@ function ensureAppRouteModulesLoaded(route) {
|
|
|
139
146
|
pushArrayLoads(loads, slot.loadings, slot.__loadLoadings);
|
|
140
147
|
pushFieldLoad(loads, slot, "error", slot.__loadError);
|
|
141
148
|
pushFieldLoad(loads, slot, "notFound", slot.__loadNotFound);
|
|
149
|
+
pushArrayLoads(loads, slot.notFounds, slot.__loadNotFounds);
|
|
142
150
|
}
|
|
143
151
|
if (loads.length === 0) {
|
|
144
152
|
route.__loaded = true;
|
|
@@ -39,4 +39,5 @@ export type PrefetchInliningConfig = false | {
|
|
|
39
39
|
};
|
|
40
40
|
export declare function isRouteTreePrefetchRequest(request: Request): boolean;
|
|
41
41
|
export declare function createRouteTreePrefetchResponse(route: AppRouteTreePrefetchRoute, options?: RouteTreePrefetchResponseOptions): Promise<Response>;
|
|
42
|
-
//#endregion
|
|
42
|
+
//#endregion
|
|
43
|
+
export {};
|
|
@@ -23,4 +23,5 @@ export type AppRenderErrorContextOverrides = {
|
|
|
23
23
|
* Pure factory: takes all deps explicitly — no closure over module-level state.
|
|
24
24
|
*/
|
|
25
25
|
export declare function createAppRscOnErrorHandler(reportRequestError: ReportRequestError, request: Request, pathname: string, routePath: string, overrides?: AppRenderErrorContextOverrides): (error: unknown) => string | undefined;
|
|
26
|
-
//#endregion
|
|
26
|
+
//#endregion
|
|
27
|
+
export {};
|
|
@@ -46,4 +46,5 @@ export declare function errorDigest(input: string): string;
|
|
|
46
46
|
export declare const PRODUCTION_SERVER_COMPONENTS_ERROR_MESSAGE = "Minified React error #441; visit https://react.dev/errors/441 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
|
|
47
47
|
export declare function sanitizeErrorForClient(error: unknown, nodeEnv?: "development" | "production" | "test"): unknown;
|
|
48
48
|
export declare function createRscOnErrorHandler(options: CreateRscOnErrorHandlerOptions): (error: unknown) => string | undefined;
|
|
49
|
-
//#endregion
|
|
49
|
+
//#endregion
|
|
50
|
+
export {};
|
|
@@ -263,4 +263,5 @@ export type CreateAppRscHandlerOptions<TRoute extends AppRscHandlerRoute> = {
|
|
|
263
263
|
export type AppRscRequestHandler = (request: Request, ctx: unknown, allowInternalRscDocumentFallback?: boolean, dispatchResponseStage?: DispatchAppWorkerResponseStage, responseStageProbeMode?: VinextCacheabilityProbeMode | null, trustedPrerenderState?: TrustedPrerenderState | null) => Promise<Response>;
|
|
264
264
|
/** Build the request-only handler without retaining the response renderer graph. */
|
|
265
265
|
export declare function createAppRscRequestHandler<TRoute extends AppRscHandlerRoute>(options: CreateAppRscHandlerOptions<TRoute>): AppRscRequestHandler;
|
|
266
|
-
//#endregion
|
|
266
|
+
//#endregion
|
|
267
|
+
export {};
|
|
@@ -37,11 +37,11 @@ import { traceAppPageRender } from "./app-page-tracing.js";
|
|
|
37
37
|
import { openForwardedMiddlewareContext } from "./forwarded-middleware-context.js";
|
|
38
38
|
import { setFrameworkRequestRoute, traceFrameworkRequest } from "./request-tracing.js";
|
|
39
39
|
import { matchPrerenderRouteParamsPayload, readTrustedPrerenderRouteParams, serializePrerenderRouteParamsHeader } from "./prerender-route-params.js";
|
|
40
|
-
import { buildPageCacheTags } from "./implicit-tags.js";
|
|
41
40
|
import { createServerActionNotFoundResponse, getServerActionNotFoundMessage } from "./server-action-not-found.js";
|
|
42
41
|
import { isPossibleAppRouteActionRequest } from "./app-action-request.js";
|
|
43
42
|
import { isAppRouteHandlerRoute } from "./app-rsc-route-matching.js";
|
|
44
43
|
import { normalizeInterceptionContextHeader } from "./app-interception-context-header.js";
|
|
44
|
+
import { buildPageCacheTags } from "./implicit-tags.js";
|
|
45
45
|
import { buildPostMwRequestContext } from "./app-post-middleware-context.js";
|
|
46
46
|
import { pickRootParams, setRootParams } from "../shims/root-params.js";
|
|
47
47
|
import { createRouteTreePrefetchResponse, isRouteTreePrefetchRequest } from "./app-route-tree-prefetch.js";
|
|
@@ -195,10 +195,6 @@ function createMissingServerActionResponse(options, actionId) {
|
|
|
195
195
|
options.clearRequestContext();
|
|
196
196
|
return createServerActionNotFoundResponse();
|
|
197
197
|
}
|
|
198
|
-
function redirectDestinationWithBasePath(destination, basePath, hadBasePath) {
|
|
199
|
-
if (!basePath || !hadBasePath || isExternalUrl(destination) || hasBasePath(destination, basePath)) return destination;
|
|
200
|
-
return basePath + destination;
|
|
201
|
-
}
|
|
202
198
|
async function applyRewrite(options, cleanPathname, recordCacheability = true) {
|
|
203
199
|
if (!HAS_CONFIG_REWRITES || !options.rewrites.length) return null;
|
|
204
200
|
const sourcePathname = options.paramsPathname ?? cleanPathname;
|
|
@@ -371,7 +367,7 @@ async function handleAppRscRequest(options, request, preMiddlewareRequestContext
|
|
|
371
367
|
});
|
|
372
368
|
if (prerenderEndpointResponse) return prerenderEndpointResponse;
|
|
373
369
|
}
|
|
374
|
-
if (!options.skipTrailingSlashRedirect) {
|
|
370
|
+
if (!isDataRequest && !options.skipTrailingSlashRedirect) {
|
|
375
371
|
const trailingSlashRedirect = options.trailingSlash && options.isMetadataRoutePath && await options.isMetadataRoutePath(cleanPathname) ? null : normalizeTrailingSlash(requestCleanPathname, hadBasePath ? options.basePath : "", options.trailingSlash, url.search);
|
|
376
372
|
if (trailingSlashRedirect) return trailingSlashRedirect;
|
|
377
373
|
}
|
|
@@ -385,10 +381,10 @@ async function handleAppRscRequest(options, request, preMiddlewareRequestContext
|
|
|
385
381
|
const configMatchers = HAS_CONFIG_REDIRECTS && options.configRedirects.length ? await import("../config/config-matchers.js") : null;
|
|
386
382
|
const redirect = configMatchers ? configMatchers.matchRedirect(redirectPathname, options.configRedirects, preMiddlewareRequestContext, basePathState, dispatchResponseStage ? void 0 : markConditionalRedirectCacheability) : null;
|
|
387
383
|
if (configMatchers && redirect) {
|
|
388
|
-
const destination =
|
|
389
|
-
const location = isRscRequest && request.headers.get("RSC") === "1" ? await createRscRedirectLocation(destination, request) : configMatchers.preserveRedirectDestinationQuery(destination, url.search, redirect.destinationQuery);
|
|
384
|
+
const destination = redirect.destination;
|
|
385
|
+
const location = isRscRequest && request.headers.get("RSC") === "1" ? await createRscRedirectLocation(configMatchers.encodeRedirectLocation(destination), request) : configMatchers.encodeRedirectLocation(configMatchers.preserveRedirectDestinationQuery(destination, url.search, redirect.destinationQuery));
|
|
390
386
|
return new Response(null, {
|
|
391
|
-
status: redirect.
|
|
387
|
+
status: redirect.statusCode,
|
|
392
388
|
headers: { Location: location }
|
|
393
389
|
});
|
|
394
390
|
}
|
|
@@ -484,7 +480,7 @@ async function handleAppRscRequest(options, request, preMiddlewareRequestContext
|
|
|
484
480
|
const cache = responseStageProbeMode || isOnDemandRevalidate || (props.kind === "app-page" || props.kind === "app-route-handler") && (props.bypassInterceptionContextCache || props.forceDynamic === true && responseStagePolicy === null) ? "bypass" : canUseSharedWorkerResponseStage ? "shared" : "bypass";
|
|
485
481
|
let dispatchRequest = props.kind === "app-page" ? prepareSharedAppPageDispatch(stageRequest, cache) : stageRequest;
|
|
486
482
|
let canonicalRsc = null;
|
|
487
|
-
if (cache === "shared" && props.kind === "app-page" && props.isRscRequest && props.matchKind === "request" && props.interceptionContext === null && props.interceptionId === null && props.mountedSlotsHeader === null) {
|
|
483
|
+
if (cache === "shared" && props.kind === "app-page" && props.isRscRequest && (props.matchKind === "request" || props.matchKind === "resolved") && props.interceptionContext === null && props.interceptionId === null && props.mountedSlotsHeader === null) {
|
|
488
484
|
const headers = new Headers(dispatchRequest.headers);
|
|
489
485
|
if (props.renderMode === "navigation" ? canonicalizePrewarmableRscRequestHeaders(headers) : props.renderMode === "prefetch-loading-shell" && props.canUseCanonicalLoadingShell ? canonicalizeLoadingShellRscRequestHeaders(headers) : false) {
|
|
490
486
|
canonicalRsc = {
|
|
@@ -47,4 +47,5 @@ export declare function applyAppRscConfigHeaders(headers: Headers, request: Requ
|
|
|
47
47
|
* to redirects regardless.
|
|
48
48
|
*/
|
|
49
49
|
export declare function finalizeAppRscResponse(response: Response, request: Request, options: FinalizeAppRscResponseOptions): Promise<Response>;
|
|
50
|
-
//#endregion
|
|
50
|
+
//#endregion
|
|
51
|
+
export {};
|
|
@@ -35,13 +35,25 @@ type AppRscInterceptForMatching = {
|
|
|
35
35
|
interceptLoadings?: readonly unknown[];
|
|
36
36
|
interceptLoadingTreePositions?: readonly number[];
|
|
37
37
|
interceptNotFoundBranchSegments?: readonly string[];
|
|
38
|
+
interceptNotFounds?: readonly unknown[];
|
|
39
|
+
interceptNotFoundTreePositions?: readonly number[];
|
|
38
40
|
__loadInterceptLayouts?: readonly (() => Promise<unknown>)[] | null;
|
|
39
41
|
__loadInterceptLoadings?: readonly (() => Promise<unknown>)[] | null;
|
|
42
|
+
__loadInterceptNotFounds?: readonly (() => Promise<unknown>)[] | null;
|
|
40
43
|
page: unknown;
|
|
41
44
|
__pageLoader?: (() => Promise<unknown>) | null;
|
|
42
45
|
notFound?: unknown;
|
|
43
46
|
__loadNotFound?: (() => Promise<unknown>) | null;
|
|
44
47
|
notFoundTreePosition?: number | null;
|
|
48
|
+
interceptForbiddens?: readonly unknown[];
|
|
49
|
+
interceptForbiddenTreePositions?: readonly number[];
|
|
50
|
+
__loadInterceptForbiddens?: readonly (() => Promise<unknown>)[] | null;
|
|
51
|
+
interceptUnauthorizeds?: readonly unknown[];
|
|
52
|
+
interceptUnauthorizedTreePositions?: readonly number[];
|
|
53
|
+
__loadInterceptUnauthorizeds?: readonly (() => Promise<unknown>)[] | null;
|
|
54
|
+
interceptErrors?: readonly unknown[];
|
|
55
|
+
interceptErrorTreePositions?: readonly number[];
|
|
56
|
+
__loadInterceptErrors?: readonly (() => Promise<unknown>)[] | null;
|
|
45
57
|
params: readonly string[];
|
|
46
58
|
};
|
|
47
59
|
type AppRscSlotForMatching = {
|
|
@@ -60,13 +72,25 @@ type AppRscSiblingInterceptForMatching = {
|
|
|
60
72
|
interceptLoadings?: readonly unknown[];
|
|
61
73
|
interceptLoadingTreePositions?: readonly number[];
|
|
62
74
|
interceptNotFoundBranchSegments?: readonly string[];
|
|
75
|
+
interceptNotFounds?: readonly unknown[];
|
|
76
|
+
interceptNotFoundTreePositions?: readonly number[];
|
|
63
77
|
__loadInterceptLayouts?: readonly (() => Promise<unknown>)[] | null;
|
|
64
78
|
__loadInterceptLoadings?: readonly (() => Promise<unknown>)[] | null;
|
|
79
|
+
__loadInterceptNotFounds?: readonly (() => Promise<unknown>)[] | null;
|
|
65
80
|
page: unknown;
|
|
66
81
|
__pageLoader?: (() => Promise<unknown>) | null;
|
|
67
82
|
notFound?: unknown;
|
|
68
83
|
__loadNotFound?: (() => Promise<unknown>) | null;
|
|
69
84
|
notFoundTreePosition?: number | null;
|
|
85
|
+
interceptForbiddens?: readonly unknown[];
|
|
86
|
+
interceptForbiddenTreePositions?: readonly number[];
|
|
87
|
+
__loadInterceptForbiddens?: readonly (() => Promise<unknown>)[] | null;
|
|
88
|
+
interceptUnauthorizeds?: readonly unknown[];
|
|
89
|
+
interceptUnauthorizedTreePositions?: readonly number[];
|
|
90
|
+
__loadInterceptUnauthorizeds?: readonly (() => Promise<unknown>)[] | null;
|
|
91
|
+
interceptErrors?: readonly unknown[];
|
|
92
|
+
interceptErrorTreePositions?: readonly number[];
|
|
93
|
+
__loadInterceptErrors?: readonly (() => Promise<unknown>)[] | null;
|
|
70
94
|
params: readonly string[];
|
|
71
95
|
};
|
|
72
96
|
type AppRscRouteForMatching = {
|
|
@@ -108,13 +132,25 @@ type AppRscInterceptLookupEntry = {
|
|
|
108
132
|
interceptLoadings?: readonly unknown[];
|
|
109
133
|
interceptLoadingTreePositions?: readonly number[];
|
|
110
134
|
interceptNotFoundBranchSegments?: readonly string[];
|
|
135
|
+
interceptNotFounds?: readonly unknown[];
|
|
136
|
+
interceptNotFoundTreePositions?: readonly number[];
|
|
111
137
|
__loadInterceptLayouts?: readonly (() => Promise<unknown>)[] | null;
|
|
112
138
|
__loadInterceptLoadings?: readonly (() => Promise<unknown>)[] | null;
|
|
139
|
+
__loadInterceptNotFounds?: readonly (() => Promise<unknown>)[] | null;
|
|
113
140
|
page: unknown;
|
|
114
141
|
__pageLoader?: (() => Promise<unknown>) | null;
|
|
115
142
|
notFound: unknown;
|
|
116
143
|
__loadNotFound?: (() => Promise<unknown>) | null;
|
|
117
144
|
notFoundTreePosition?: number | null;
|
|
145
|
+
interceptForbiddens?: readonly unknown[];
|
|
146
|
+
interceptForbiddenTreePositions?: readonly number[];
|
|
147
|
+
__loadInterceptForbiddens?: readonly (() => Promise<unknown>)[] | null;
|
|
148
|
+
interceptUnauthorizeds?: readonly unknown[];
|
|
149
|
+
interceptUnauthorizedTreePositions?: readonly number[];
|
|
150
|
+
__loadInterceptUnauthorizeds?: readonly (() => Promise<unknown>)[] | null;
|
|
151
|
+
interceptErrors?: readonly unknown[];
|
|
152
|
+
interceptErrorTreePositions?: readonly number[];
|
|
153
|
+
__loadInterceptErrors?: readonly (() => Promise<unknown>)[] | null;
|
|
118
154
|
__loadState: AppRscInterceptLoadState;
|
|
119
155
|
params: readonly string[];
|
|
120
156
|
slotId: string | null;
|
|
@@ -141,4 +177,5 @@ export declare function createAppRscRouteMatcher<Route extends AppRscRouteForMat
|
|
|
141
177
|
} | null;
|
|
142
178
|
findIntercept(pathname: string, sourcePathname?: string | null, interceptionId?: string | null): AppRscInterceptMatch | null;
|
|
143
179
|
};
|
|
144
|
-
//#endregion
|
|
180
|
+
//#endregion
|
|
181
|
+
export {};
|
|
@@ -209,6 +209,9 @@ function createInterceptLookup(routes) {
|
|
|
209
209
|
interceptLoadings: intercept.interceptLoadings,
|
|
210
210
|
interceptLoadingTreePositions: intercept.interceptLoadingTreePositions,
|
|
211
211
|
interceptNotFoundBranchSegments: intercept.interceptNotFoundBranchSegments,
|
|
212
|
+
interceptNotFounds: intercept.interceptNotFounds,
|
|
213
|
+
interceptNotFoundTreePositions: intercept.interceptNotFoundTreePositions,
|
|
214
|
+
__loadInterceptNotFounds: intercept.__loadInterceptNotFounds,
|
|
212
215
|
__loadInterceptLayouts: intercept.__loadInterceptLayouts,
|
|
213
216
|
__loadInterceptLoadings: intercept.__loadInterceptLoadings,
|
|
214
217
|
page: intercept.page,
|
|
@@ -216,6 +219,15 @@ function createInterceptLookup(routes) {
|
|
|
216
219
|
notFound: intercept.notFound,
|
|
217
220
|
__loadNotFound: intercept.__loadNotFound,
|
|
218
221
|
notFoundTreePosition: intercept.notFoundTreePosition,
|
|
222
|
+
interceptForbiddens: intercept.interceptForbiddens,
|
|
223
|
+
interceptForbiddenTreePositions: intercept.interceptForbiddenTreePositions,
|
|
224
|
+
__loadInterceptForbiddens: intercept.__loadInterceptForbiddens,
|
|
225
|
+
interceptUnauthorizeds: intercept.interceptUnauthorizeds,
|
|
226
|
+
interceptUnauthorizedTreePositions: intercept.interceptUnauthorizedTreePositions,
|
|
227
|
+
__loadInterceptUnauthorizeds: intercept.__loadInterceptUnauthorizeds,
|
|
228
|
+
interceptErrors: intercept.interceptErrors,
|
|
229
|
+
interceptErrorTreePositions: intercept.interceptErrorTreePositions,
|
|
230
|
+
__loadInterceptErrors: intercept.__loadInterceptErrors,
|
|
219
231
|
__loadState: {
|
|
220
232
|
page: intercept.page,
|
|
221
233
|
pageLoading: null,
|
|
@@ -248,6 +260,9 @@ function createInterceptLookup(routes) {
|
|
|
248
260
|
interceptLoadings: intercept.interceptLoadings,
|
|
249
261
|
interceptLoadingTreePositions: intercept.interceptLoadingTreePositions,
|
|
250
262
|
interceptNotFoundBranchSegments: intercept.interceptNotFoundBranchSegments,
|
|
263
|
+
interceptNotFounds: intercept.interceptNotFounds,
|
|
264
|
+
interceptNotFoundTreePositions: intercept.interceptNotFoundTreePositions,
|
|
265
|
+
__loadInterceptNotFounds: intercept.__loadInterceptNotFounds,
|
|
251
266
|
__loadInterceptLayouts: intercept.__loadInterceptLayouts,
|
|
252
267
|
__loadInterceptLoadings: intercept.__loadInterceptLoadings,
|
|
253
268
|
page: intercept.page,
|
|
@@ -255,6 +270,15 @@ function createInterceptLookup(routes) {
|
|
|
255
270
|
notFound: intercept.notFound,
|
|
256
271
|
__loadNotFound: intercept.__loadNotFound,
|
|
257
272
|
notFoundTreePosition: intercept.notFoundTreePosition,
|
|
273
|
+
interceptForbiddens: intercept.interceptForbiddens,
|
|
274
|
+
interceptForbiddenTreePositions: intercept.interceptForbiddenTreePositions,
|
|
275
|
+
__loadInterceptForbiddens: intercept.__loadInterceptForbiddens,
|
|
276
|
+
interceptUnauthorizeds: intercept.interceptUnauthorizeds,
|
|
277
|
+
interceptUnauthorizedTreePositions: intercept.interceptUnauthorizedTreePositions,
|
|
278
|
+
__loadInterceptUnauthorizeds: intercept.__loadInterceptUnauthorizeds,
|
|
279
|
+
interceptErrors: intercept.interceptErrors,
|
|
280
|
+
interceptErrorTreePositions: intercept.interceptErrorTreePositions,
|
|
281
|
+
__loadInterceptErrors: intercept.__loadInterceptErrors,
|
|
258
282
|
__loadState: {
|
|
259
283
|
page: intercept.page,
|
|
260
284
|
pageLoading: null,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { compareFolderNames } from "../utils/compare.js";
|
|
1
2
|
import { isEdgeApiRuntime } from "./edge-api-runtime.js";
|
|
2
3
|
//#region src/server/app-segment-config.ts
|
|
3
4
|
const DYNAMIC_VALUES = /* @__PURE__ */ new Set([
|
|
@@ -310,20 +311,6 @@ function hasGenerateStaticParamsExport(segment) {
|
|
|
310
311
|
}
|
|
311
312
|
const DEFAULT_SEGMENT_NAME = "__DEFAULT__";
|
|
312
313
|
/**
|
|
313
|
-
* Turbopack reads a folder's subfolders from a `BTreeMap<RcStr, _>`, whose
|
|
314
|
-
* keys compare as Rust `str`s: by UTF-8 bytes. That is Unicode code point
|
|
315
|
-
* order, which JavaScript's `<` (UTF-16 code units) doesn't match above the
|
|
316
|
-
* Basic Multilingual Plane.
|
|
317
|
-
* https://github.com/vercel/next.js/blob/v16.2.7/crates/next-core/src/app_structure.rs#L188-L192
|
|
318
|
-
* https://github.com/vercel/next.js/blob/v16.2.7/turbopack/crates/turbo-rcstr/src/lib.rs#L350-L354
|
|
319
|
-
*/
|
|
320
|
-
function compareFolderNames(a, b) {
|
|
321
|
-
const left = Array.from(a, (char) => char.codePointAt(0) ?? 0);
|
|
322
|
-
const right = Array.from(b, (char) => char.codePointAt(0) ?? 0);
|
|
323
|
-
for (let index = 0; index < Math.min(left.length, right.length); index++) if (left[index] !== right[index]) return left[index] - right[index];
|
|
324
|
-
return left.length - right.length;
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
314
|
* Collect the loader-tree segments of an App page route from its layout, page
|
|
328
315
|
* and parallel-slot modules, for `lastDynamicSegmentHasGenerateStaticParams`.
|
|
329
316
|
*
|
|
@@ -282,4 +282,5 @@ export declare function applyActionRedirectBasePath(url: string, basePath: strin
|
|
|
282
282
|
export declare function isProgressiveServerActionRequest(request: Pick<Request, "method">, contentType: string, actionId: string | null): boolean;
|
|
283
283
|
export declare function handleProgressiveServerActionRequest(options: HandleProgressiveServerActionRequestOptions): Promise<Response | ProgressiveServerActionResult | null>;
|
|
284
284
|
export declare function handleServerActionRscRequest<TElement, TRoute extends AppServerActionRoute, TInterceptOpts, TTemporaryReferences, TPage = unknown>(options: HandleServerActionRscRequestOptions<TElement, TRoute, TInterceptOpts, TTemporaryReferences, TPage>): Promise<Response | null>;
|
|
285
|
-
//#endregion
|
|
285
|
+
//#endregion
|
|
286
|
+
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { runOutsideRequestScopes } from "../shims/internal/als-registry.js";
|
|
2
|
+
import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
|
|
2
3
|
import { VINEXT_MW_CTX_HEADER } from "../utils/protocol-headers.js";
|
|
3
4
|
import { buildRequestHeadersFromMiddlewareResponse } from "../utils/middleware-request-headers.js";
|
|
4
5
|
import { parseEdgeRequestCookieHeader } from "../utils/parse-cookie.js";
|
|
@@ -16,17 +17,16 @@ import { isDraftModeRequest, setHeadersContext } from "../shims/headers.js";
|
|
|
16
17
|
import { _drainPendingRevalidations, getAndClearActionRevalidationKind } from "../shims/cache-request-state.js";
|
|
17
18
|
import { setCurrentFetchCacheMode, setCurrentFetchRevalidate, setCurrentFetchSoftTags, setCurrentForceDynamicFetchDefault } from "../shims/fetch-cache.js";
|
|
18
19
|
import { readStreamAsTextWithLimit } from "../utils/text-stream.js";
|
|
19
|
-
import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
|
|
20
20
|
import { VINEXT_RSC_CONTENT_TYPE, applyRscCompatibilityIdHeader, createRscRequestUrl, stripRscCacheBustingSearchParam } from "./app-rsc-cache-busting.js";
|
|
21
21
|
import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
|
|
22
22
|
import { applyEdgeRuntimeHeader } from "./app-page-response.js";
|
|
23
23
|
import { getNextErrorDigest, parseNextHttpErrorDigest, parseNextRedirectDigest } from "./next-error-digest.js";
|
|
24
24
|
import { hasDigest } from "./app-rsc-errors.js";
|
|
25
|
-
import { buildAppPageTags } from "./implicit-tags.js";
|
|
26
|
-
import "./app-page-stream.js";
|
|
27
25
|
import { getSetCookieName } from "./cookie-utils.js";
|
|
28
26
|
import { createServerActionNotFoundResponse, getServerActionNotFoundMessage, isServerActionNotFoundError } from "./server-action-not-found.js";
|
|
29
27
|
import { resolveAppPageNavigationParams } from "./app-page-element-builder.js";
|
|
28
|
+
import "./app-page-stream.js";
|
|
29
|
+
import { buildAppPageTags } from "./implicit-tags.js";
|
|
30
30
|
import { resolveAppPageActionRerenderTarget } from "./app-page-request.js";
|
|
31
31
|
import { createRootParamsUsageController, runWithRootParamsUsage } from "../shims/root-params.js";
|
|
32
32
|
import { createStaticGenerationHeadersContext } from "./app-static-generation.js";
|
|
@@ -70,6 +70,12 @@ export declare function handleSsr(rscStream: ReadableStream<Uint8Array>, navCont
|
|
|
70
70
|
*/
|
|
71
71
|
isCacheCandidate?: boolean;
|
|
72
72
|
fallbackToErrorDocumentOnShellError?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* The parallel slot not-found boundaries that catch the error that
|
|
75
|
+
* rejected the shell, or null when none catches it. The document then
|
|
76
|
+
* renders again from the same payload with them caught.
|
|
77
|
+
*/
|
|
78
|
+
resolveCaughtNotFoundBoundaries?: (error: unknown) => readonly string[] | null;
|
|
73
79
|
dynamicStaleTimeSeconds?: number;
|
|
74
80
|
getInitialNavigationCacheMetadata?: () => InitialNavigationCacheMetadata;
|
|
75
81
|
}): Promise<AppSsrRenderResult>;
|