vinext 1.0.0-beta.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +150 -92
- package/THIRD_PARTY_LICENSES.md +25 -0
- package/dist/_virtual/_rolldown/runtime.js +25 -0
- package/dist/build/action-owner-manifest.d.ts +8 -9
- package/dist/build/action-owner-manifest.js +23 -5
- package/dist/build/assets-ignore.d.ts +3 -4
- package/dist/build/clean-output.d.ts +2 -3
- package/dist/build/client-build-config.d.ts +40 -12
- package/dist/build/client-build-config.js +76 -6
- package/dist/build/css-url-assets.d.ts +4 -5
- package/dist/build/css-url-assets.js +5 -2
- package/dist/build/google-fonts/build-url.d.ts +3 -4
- package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
- package/dist/build/google-fonts/font-metadata.d.ts +2 -3
- package/dist/build/google-fonts/get-axes.d.ts +2 -3
- package/dist/build/google-fonts/sort-variants.d.ts +2 -3
- package/dist/build/google-fonts/validate.d.ts +2 -3
- package/dist/build/google-fonts/validate.js +8 -4
- package/dist/build/inject-pregenerated-paths.d.ts +2 -3
- package/dist/build/inject-pregenerated-paths.js +16 -14
- package/dist/build/inline-css.d.ts +3 -4
- package/dist/build/layout-classification-types.d.ts +4 -5
- package/dist/build/layout-classification.d.ts +7 -8
- package/dist/build/lifecycle.d.ts +42 -0
- package/dist/build/lifecycle.js +253 -0
- package/dist/build/module-dependency-cache.d.ts +2 -3
- package/dist/build/next-client-runtime-manifests.d.ts +4 -5
- package/dist/build/nitro-route-rules.d.ts +6 -7
- package/dist/build/nitro-route-rules.js +1 -1
- package/dist/build/pages-client-assets-module.d.ts +4 -8
- package/dist/build/pages-client-assets-module.js +1 -13
- package/dist/build/precompress.d.ts +2 -3
- package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
- package/dist/build/prerender-cloudflare-loader.js +49 -0
- package/dist/build/prerender-paths.d.ts +36 -11
- package/dist/build/prerender-paths.js +273 -97
- package/dist/build/prerender-phase.d.ts +2 -3
- package/dist/build/prerender-server-entry.js +11 -3
- package/dist/build/prerender-server-pool.d.ts +9 -6
- package/dist/build/prerender-server-pool.js +8 -5
- package/dist/build/prerender.d.ts +65 -15
- package/dist/build/prerender.js +139 -43
- package/dist/build/preview-credentials.d.ts +5 -6
- package/dist/build/preview-credentials.js +2 -2
- package/dist/build/public-dir-conflict.d.ts +5 -6
- package/dist/build/public-dir-conflict.js +2 -1
- package/dist/build/report.d.ts +24 -20
- package/dist/build/report.js +10 -2
- package/dist/build/route-classification-injector.d.ts +2 -3
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/run-prerender.d.ts +11 -9
- package/dist/build/run-prerender.js +25 -16
- package/dist/build/server-entry.d.ts +4 -0
- package/dist/build/server-entry.js +28 -0
- package/dist/build/server-manifest.d.ts +8 -3
- package/dist/build/server-manifest.js +14 -2
- package/dist/build/ssr-manifest.d.ts +5 -6
- package/dist/build/standalone.d.ts +2 -3
- package/dist/build/standalone.js +2 -2
- package/dist/build/static-export.d.ts +6 -7
- package/dist/cache/cache-adapters-virtual.d.ts +60 -20
- package/dist/cache/cache-adapters-virtual.js +50 -7
- package/dist/check.d.ts +11 -10
- package/dist/check.js +467 -176
- package/dist/cli-args.d.ts +7 -16
- package/dist/cli-args.js +2 -45
- package/dist/cli-dev-config.d.ts +10 -7
- package/dist/cli-dev-config.js +160 -3
- package/dist/cli.js +124 -442
- package/dist/client/app-nav-failure-handler.d.ts +6 -7
- package/dist/client/client-rewrite-matcher.d.ts +2 -3
- package/dist/client/client-rewrites.d.ts +4 -5
- package/dist/client/dev-error-overlay-store.d.ts +13 -14
- package/dist/client/dev-error-overlay.d.ts +15 -15
- package/dist/client/dev-error-overlay.js +8 -5
- package/dist/client/instrumentation-client-inject.d.ts +3 -4
- package/dist/client/instrumentation-client-state.d.ts +5 -6
- package/dist/client/instrumentation-client.d.ts +3 -4
- package/dist/client/navigation-runtime.d.ts +21 -17
- package/dist/client/navigation-runtime.js +2 -1
- package/dist/client/pages-router-link-navigation.d.ts +4 -5
- package/dist/client/react-instance.d.ts +2 -3
- package/dist/client/validate-module-path.d.ts +2 -3
- package/dist/client/vinext-next-data.d.ts +7 -10
- package/dist/client/window-next.d.ts +4 -5
- package/dist/config/config-matchers.d.ts +16 -16
- package/dist/config/config-matchers.js +2 -4
- package/dist/config/dotenv.d.ts +3 -4
- package/dist/config/dotenv.js +2 -1
- package/dist/config/next-config.d.ts +31 -27
- package/dist/config/next-config.js +163 -16
- package/dist/config/prerender.d.ts +20 -16
- package/dist/config/prerender.js +10 -4
- package/dist/config/request-context.d.ts +5 -6
- package/dist/config/server-external-packages.d.ts +14 -3
- package/dist/config/server-external-packages.js +37 -3
- package/dist/config/tsconfig-paths.d.ts +3 -4
- package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
- package/dist/entries/app-browser-entry.d.ts +4 -5
- package/dist/entries/app-browser-entry.js +1 -3
- package/dist/entries/app-rsc-entry.d.ts +10 -3
- package/dist/entries/app-rsc-entry.js +502 -51
- package/dist/entries/app-rsc-manifest.d.ts +4 -3
- package/dist/entries/app-rsc-manifest.js +26 -8
- package/dist/entries/app-ssr-entry.d.ts +2 -3
- package/dist/entries/app-ssr-entry.js +8 -1
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +17 -2
- package/dist/entries/pages-server-entry.d.ts +13 -3
- package/dist/entries/pages-server-entry.js +234 -33
- package/dist/entries/runtime-entry-module.d.ts +4 -5
- package/dist/image/image-adapters-virtual.d.ts +4 -5
- package/dist/index.d.ts +10 -11
- package/dist/index.js +711 -189
- package/dist/init-cloudflare.d.ts +26 -17
- package/dist/init-cloudflare.js +710 -102
- package/dist/init-platform.d.ts +26 -22
- package/dist/init-platform.js +85 -29
- package/dist/init.d.ts +19 -13
- package/dist/init.js +123 -41
- package/dist/plugins/action-owner-manifest.d.ts +3 -4
- package/dist/plugins/action-owner-manifest.js +10 -3
- package/dist/plugins/ast-scope.d.ts +10 -11
- package/dist/plugins/ast-scope.js +10 -22
- package/dist/plugins/ast-utils.d.ts +16 -29
- package/dist/plugins/ast-utils.js +27 -71
- package/dist/plugins/async-hooks-stub.d.ts +2 -3
- package/dist/plugins/client-reference-dedup.d.ts +4 -5
- package/dist/plugins/css-data-url.d.ts +2 -3
- package/dist/plugins/css-module-imports.d.ts +3 -4
- package/dist/plugins/css-module-imports.js +1 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
- package/dist/plugins/dynamic-preload-metadata.js +55 -154
- package/dist/plugins/environment.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.js +6 -10
- package/dist/plugins/fonts.d.ts +10 -11
- package/dist/plugins/fonts.js +4 -3
- package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
- package/dist/plugins/ignore-dynamic-requests.js +60 -89
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +31 -43
- package/dist/plugins/instrumentation-client.d.ts +3 -3
- package/dist/plugins/instrumentation-client.js +46 -10
- package/dist/plugins/middleware-export-validation.d.ts +3 -4
- package/dist/plugins/middleware-export-validation.js +3 -3
- package/dist/plugins/middleware-server-only.d.ts +2 -3
- package/dist/plugins/og-asset-ownership.d.ts +3 -4
- package/dist/plugins/og-assets.d.ts +4 -5
- package/dist/plugins/og-assets.js +32 -13
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +260 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +32 -44
- package/dist/plugins/pages-node-externals.d.ts +2 -3
- package/dist/plugins/pages-node-externals.js +6 -11
- package/dist/plugins/postcss.d.ts +8 -4
- package/dist/plugins/postcss.js +1 -1
- package/dist/plugins/remove-console.d.ts +2 -3
- package/dist/plugins/remove-console.js +0 -1
- package/dist/plugins/require-condition-resolution.d.ts +3 -4
- package/dist/plugins/require-condition-resolution.js +17 -18
- package/dist/plugins/require-context.d.ts +2 -3
- package/dist/plugins/require-context.js +13 -21
- package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
- package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
- package/dist/plugins/rsc-client-shim-excludes.js +1 -0
- package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
- package/dist/plugins/sass.d.ts +7 -8
- package/dist/plugins/sass.js +7 -4
- package/dist/plugins/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +5 -6
- package/dist/plugins/strip-server-exports.js +1 -1
- package/dist/plugins/styled-jsx.d.ts +2 -3
- package/dist/plugins/styled-jsx.js +7 -7
- package/dist/plugins/transform-cache.d.ts +2 -3
- package/dist/plugins/transform-result.d.ts +3 -4
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +6 -7
- package/dist/plugins/typeof-window.js +30 -31
- package/dist/plugins/use-cache-callable.d.ts +2 -5
- package/dist/plugins/use-cache-callable.js +43 -22
- package/dist/plugins/wasm-module-import.d.ts +2 -3
- package/dist/plugins/worker-image-imports.d.ts +2 -3
- package/dist/plugins/worker-image-imports.js +6 -8
- package/dist/routing/app-route-graph.d.ts +19 -19
- package/dist/routing/app-route-graph.js +3 -2
- package/dist/routing/app-router.d.ts +19 -6
- package/dist/routing/app-router.js +24 -2
- package/dist/routing/file-matcher.d.ts +9 -10
- package/dist/routing/pages-router.d.ts +6 -6
- package/dist/routing/pages-router.js +1 -1
- package/dist/routing/route-matching.d.ts +4 -5
- package/dist/routing/route-matching.js +4 -2
- package/dist/routing/route-pattern.d.ts +13 -14
- package/dist/routing/route-trie.d.ts +5 -6
- package/dist/routing/route-validation.d.ts +3 -4
- package/dist/routing/route-validation.js +12 -11
- package/dist/routing/utils.d.ts +13 -14
- package/dist/server/accept-encoding.d.ts +9 -10
- package/dist/server/api-handler.d.ts +2 -3
- package/dist/server/api-handler.js +9 -6
- package/dist/server/app-action-forwarding.d.ts +3 -4
- package/dist/server/app-action-forwarding.js +1 -1
- package/dist/server/app-action-request.d.ts +2 -3
- package/dist/server/app-bfcache-id.d.ts +3 -4
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- package/dist/server/app-browser-action-result.d.ts +15 -16
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
- package/dist/server/app-browser-entry.js +87 -34
- package/dist/server/app-browser-error.d.ts +5 -6
- package/dist/server/app-browser-error.js +9 -3
- package/dist/server/app-browser-history-controller.d.ts +4 -5
- package/dist/server/app-browser-hydration.d.ts +16 -6
- package/dist/server/app-browser-hydration.js +14 -1
- package/dist/server/app-browser-interception-context.d.ts +3 -4
- package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
- package/dist/server/app-browser-navigation-abort.d.ts +3 -4
- package/dist/server/app-browser-navigation-controller.d.ts +8 -8
- package/dist/server/app-browser-navigation-controller.js +8 -4
- package/dist/server/app-browser-navigation-response.d.ts +2 -3
- package/dist/server/app-browser-popstate.d.ts +4 -5
- package/dist/server/app-browser-prefetch-response.d.ts +5 -6
- package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
- package/dist/server/app-browser-server-action-client.d.ts +7 -6
- package/dist/server/app-browser-server-action-client.js +9 -5
- package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
- package/dist/server/app-browser-state.d.ts +17 -17
- package/dist/server/app-browser-state.js +6 -2
- package/dist/server/app-browser-stream.d.ts +4 -5
- package/dist/server/app-browser-stream.js +8 -6
- package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
- package/dist/server/app-browser-visible-commit.d.ts +6 -7
- package/dist/server/app-client-reference-preloader.d.ts +2 -3
- package/dist/server/app-elements-wire-key.d.ts +25 -0
- package/dist/server/app-elements-wire-key.js +69 -0
- package/dist/server/app-elements-wire.d.ts +34 -53
- package/dist/server/app-elements-wire.js +4 -75
- package/dist/server/app-elements.d.ts +5 -5
- package/dist/server/app-elements.js +1 -1
- package/dist/server/app-fallback-renderer.d.ts +4 -4
- package/dist/server/app-fallback-renderer.js +6 -6
- package/dist/server/app-fetch-tracing.d.ts +15 -0
- package/dist/server/app-fetch-tracing.js +38 -0
- package/dist/server/app-history-state.d.ts +26 -27
- package/dist/server/app-history-state.js +19 -11
- package/dist/server/app-hook-warning-suppression.d.ts +2 -3
- package/dist/server/app-hydration-cache-publication.d.ts +3 -4
- package/dist/server/app-inline-css-client.d.ts +3 -4
- package/dist/server/app-interception-context-header.d.ts +2 -3
- package/dist/server/app-layout-param-observation.d.ts +7 -8
- package/dist/server/app-metadata-tracing.d.ts +12 -0
- package/dist/server/app-metadata-tracing.js +17 -0
- package/dist/server/app-middleware.d.ts +7 -7
- package/dist/server/app-middleware.js +2 -3
- package/dist/server/app-mounted-slots-header.d.ts +2 -3
- package/dist/server/app-mounted-slots-header.js +2 -2
- package/dist/server/app-optimistic-routing.d.ts +10 -11
- package/dist/server/app-optimistic-routing.js +3 -2
- package/dist/server/app-page-boundary-render.d.ts +6 -6
- package/dist/server/app-page-boundary-render.js +10 -4
- package/dist/server/app-page-boundary.d.ts +9 -10
- package/dist/server/app-page-boundary.js +1 -1
- package/dist/server/app-page-cache-finalizer.d.ts +18 -9
- package/dist/server/app-page-cache-finalizer.js +51 -16
- package/dist/server/app-page-cache-render.d.ts +8 -5
- package/dist/server/app-page-cache-render.js +22 -5
- package/dist/server/app-page-cache.d.ts +28 -9
- package/dist/server/app-page-cache.js +95 -24
- package/dist/server/app-page-dispatch.d.ts +34 -12
- package/dist/server/app-page-dispatch.js +181 -64
- package/dist/server/app-page-element-builder.d.ts +13 -11
- package/dist/server/app-page-element-builder.js +104 -61
- package/dist/server/app-page-execution.d.ts +14 -14
- package/dist/server/app-page-execution.js +11 -7
- package/dist/server/app-page-head.d.ts +19 -16
- package/dist/server/app-page-head.js +25 -25
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
- package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
- package/dist/server/app-page-method.d.ts +5 -11
- package/dist/server/app-page-method.js +2 -9
- package/dist/server/app-page-params.d.ts +5 -6
- package/dist/server/app-page-ppr-runtime.d.ts +2 -2
- package/dist/server/app-page-probe.d.ts +5 -6
- package/dist/server/app-page-probe.js +5 -4
- package/dist/server/app-page-render-identity.d.ts +4 -5
- package/dist/server/app-page-render-observation.d.ts +8 -9
- package/dist/server/app-page-render-observation.js +1 -1
- package/dist/server/app-page-render.d.ts +41 -6
- package/dist/server/app-page-render.js +171 -25
- package/dist/server/app-page-request.d.ts +10 -9
- package/dist/server/app-page-request.js +16 -12
- package/dist/server/app-page-response.d.ts +20 -9
- package/dist/server/app-page-response.js +30 -12
- package/dist/server/app-page-route-wiring.d.ts +15 -15
- package/dist/server/app-page-route-wiring.js +31 -24
- package/dist/server/app-page-search-params-observation.d.ts +26 -5
- package/dist/server/app-page-search-params-observation.js +42 -6
- package/dist/server/app-page-segment-plan.d.ts +2 -3
- package/dist/server/app-page-segment-state.d.ts +11 -12
- package/dist/server/app-page-stream.d.ts +27 -11
- package/dist/server/app-page-stream.js +34 -6
- package/dist/server/app-page-tracing.d.ts +33 -0
- package/dist/server/app-page-tracing.js +49 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +17 -4
- package/dist/server/app-post-middleware-context.d.ts +2 -3
- package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
- package/dist/server/app-ppr-fallback-shell-render.js +3 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
- package/dist/server/app-prerender-endpoints.d.ts +5 -5
- package/dist/server/app-prerender-endpoints.js +3 -1
- package/dist/server/app-prerender-static-params.d.ts +15 -7
- package/dist/server/app-prerender-static-params.js +24 -9
- package/dist/server/app-render-dependency.d.ts +14 -13
- package/dist/server/app-render-dependency.js +5 -1
- package/dist/server/app-request-context.d.ts +3 -4
- package/dist/server/app-request-stage-context.d.ts +5 -0
- package/dist/server/app-request-stage-context.js +11 -0
- package/dist/server/app-request-stage-dispatch.d.ts +25 -0
- package/dist/server/app-request-stage-dispatch.js +54 -0
- package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
- package/dist/server/app-request-stage-independent-entry.js +115 -0
- package/dist/server/app-response-header-provenance.d.ts +13 -7
- package/dist/server/app-response-header-provenance.js +34 -1
- package/dist/server/app-response-stage-entry.d.ts +9 -0
- package/dist/server/app-response-stage-entry.js +87 -0
- package/dist/server/app-route-handler-cache.d.ts +2 -3
- package/dist/server/app-route-handler-cache.js +46 -34
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +68 -54
- package/dist/server/app-route-handler-execution.d.ts +17 -13
- package/dist/server/app-route-handler-execution.js +69 -18
- package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
- package/dist/server/app-route-handler-middleware-context.js +15 -0
- package/dist/server/app-route-handler-policy.d.ts +11 -11
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +2 -0
- package/dist/server/app-route-handler-runtime.d.ts +9 -10
- package/dist/server/app-route-handler-runtime.js +20 -16
- package/dist/server/app-route-module-loader.d.ts +6 -7
- package/dist/server/app-route-request-built-ins.d.ts +3 -4
- package/dist/server/app-route-tree-prefetch.d.ts +6 -7
- package/dist/server/app-route-tree-prefetch.js +2 -1
- package/dist/server/app-router-entry.d.ts +2 -0
- package/dist/server/app-router-entry.js +28 -8
- package/dist/server/app-rsc-cache-busting.d.ts +34 -27
- package/dist/server/app-rsc-cache-busting.js +14 -2
- package/dist/server/app-rsc-combined-handler.d.ts +9 -0
- package/dist/server/app-rsc-combined-handler.js +11 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
- package/dist/server/app-rsc-error-handler.d.ts +12 -6
- package/dist/server/app-rsc-error-handler.js +15 -6
- package/dist/server/app-rsc-errors.d.ts +12 -9
- package/dist/server/app-rsc-errors.js +15 -13
- package/dist/server/app-rsc-handler.d.ts +31 -6
- package/dist/server/app-rsc-handler.js +411 -61
- package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
- package/dist/server/app-rsc-render-mode.d.ts +8 -9
- package/dist/server/app-rsc-request-normalization.d.ts +3 -3
- package/dist/server/app-rsc-request-normalization.js +2 -1
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +6 -6
- package/dist/server/app-rsc-response-stage.d.ts +6 -0
- package/dist/server/app-rsc-response-stage.js +251 -0
- package/dist/server/app-rsc-route-matching.d.ts +3 -4
- package/dist/server/app-rsc-route-matching.js +3 -2
- package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
- package/dist/server/app-rsc-vary.d.ts +16 -0
- package/dist/server/app-rsc-vary.js +31 -0
- package/dist/server/app-segment-config.d.ts +119 -7
- package/dist/server/app-segment-config.js +242 -2
- package/dist/server/app-server-action-execution.d.ts +16 -12
- package/dist/server/app-server-action-execution.js +86 -33
- package/dist/server/app-ssr-entry.d.ts +14 -4
- package/dist/server/app-ssr-entry.js +61 -14
- package/dist/server/app-ssr-error-meta.d.ts +3 -4
- package/dist/server/app-ssr-error-meta.js +2 -1
- package/dist/server/app-ssr-router-instance.d.ts +2 -3
- package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
- package/dist/server/app-ssr-search-params-gate.js +54 -0
- package/dist/server/app-ssr-stream.d.ts +13 -9
- package/dist/server/app-ssr-stream.js +33 -7
- package/dist/server/app-static-generation.d.ts +4 -5
- package/dist/server/app-visited-response-cache.d.ts +11 -12
- package/dist/server/app-visited-response-cache.js +2 -2
- package/dist/server/app-worker-stages.d.ts +112 -0
- package/dist/server/app-worker-stages.js +105 -0
- package/dist/server/artifact-compatibility.d.ts +11 -12
- package/dist/server/before-interactive-head.d.ts +2 -3
- package/dist/server/bfcache-identity.d.ts +7 -8
- package/dist/server/cache-control.d.ts +35 -13
- package/dist/server/cache-control.js +71 -5
- package/dist/server/cache-headers.d.ts +3 -4
- package/dist/server/cache-proof.d.ts +75 -70
- package/dist/server/cache-proof.js +9 -1
- package/dist/server/cacheability-limits.d.ts +4 -5
- package/dist/server/cacheability-limits.js +2 -2
- package/dist/server/cacheability-manifest.d.ts +42 -16
- package/dist/server/cacheability-manifest.js +60 -10
- package/dist/server/cacheability-request.d.ts +37 -8
- package/dist/server/cacheability-request.js +159 -57
- package/dist/server/client-reuse-manifest.d.ts +17 -18
- package/dist/server/client-reuse-manifest.js +2 -2
- package/dist/server/client-trace-metadata.d.ts +9 -6
- package/dist/server/client-trace-metadata.js +27 -15
- package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
- package/dist/server/cloudflare-workers-tracing.js +8 -0
- package/dist/server/config-headers.d.ts +19 -5
- package/dist/server/config-headers.js +25 -11
- package/dist/server/cookie-utils.d.ts +2 -3
- package/dist/server/csp.d.ts +5 -6
- package/dist/server/default-global-error-module.d.ts +2 -3
- package/dist/server/default-global-not-found-module.d.ts +2 -3
- package/dist/server/default-not-found-module.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.js +2 -1
- package/dist/server/dev-initial-server-error.d.ts +3 -4
- package/dist/server/dev-initial-server-error.js +2 -1
- package/dist/server/dev-lockfile.d.ts +7 -8
- package/dist/server/dev-lockfile.js +4 -1
- package/dist/server/dev-module-runner.d.ts +2 -3
- package/dist/server/dev-origin-check.d.ts +5 -6
- package/dist/server/dev-route-files.d.ts +2 -3
- package/dist/server/dev-server.d.ts +4 -5
- package/dist/server/dev-server.js +130 -61
- package/dist/server/dev-stack-sourcemap.d.ts +7 -7
- package/dist/server/dev-stack-sourcemap.js +1 -1
- package/dist/server/document-initial-head.d.ts +3 -4
- package/dist/server/edge-api-runtime.d.ts +4 -5
- package/dist/server/fetch-handler.d.ts +3 -2
- package/dist/server/fetch-handler.js +3 -18
- package/dist/server/file-based-metadata.d.ts +2 -3
- package/dist/server/framework-tracer.d.ts +46 -0
- package/dist/server/framework-tracer.js +125 -0
- package/dist/server/fully-buffered-response.d.ts +11 -0
- package/dist/server/fully-buffered-response.js +19 -0
- package/dist/server/headers.d.ts +54 -61
- package/dist/server/headers.js +18 -31
- package/dist/server/html.d.ts +6 -27
- package/dist/server/html.js +16 -1
- package/dist/server/http-conditional.d.ts +5 -6
- package/dist/server/http-date.d.ts +2 -3
- package/dist/server/http-error-responses.d.ts +9 -10
- package/dist/server/http-range.d.ts +4 -5
- package/dist/server/hybrid-route-priority.d.ts +4 -5
- package/dist/server/image-optimization.d.ts +20 -21
- package/dist/server/implicit-tags.d.ts +3 -4
- package/dist/server/instrumentation-runtime.d.ts +17 -21
- package/dist/server/instrumentation-runtime.js +26 -8
- package/dist/server/instrumentation.d.ts +26 -30
- package/dist/server/instrumentation.js +18 -23
- package/dist/server/isr-cache.d.ts +28 -27
- package/dist/server/isr-cache.js +18 -70
- package/dist/server/isr-decision.d.ts +4 -4
- package/dist/server/metadata-route-build-data.d.ts +4 -5
- package/dist/server/metadata-route-cache-policy.d.ts +2 -3
- package/dist/server/metadata-route-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +68 -2
- package/dist/server/metadata-routes.d.ts +18 -19
- package/dist/server/middleware-matcher-pattern.d.ts +6 -7
- package/dist/server/middleware-matcher.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.js +11 -9
- package/dist/server/middleware-response-headers.d.ts +3 -4
- package/dist/server/middleware-runtime.d.ts +7 -8
- package/dist/server/middleware-runtime.js +36 -7
- package/dist/server/middleware.d.ts +5 -5
- package/dist/server/multi-stage.d.ts +141 -0
- package/dist/server/multi-stage.js +8 -0
- package/dist/server/navigation-planner.d.ts +26 -26
- package/dist/server/navigation-trace.d.ts +11 -12
- package/dist/server/next-error-digest.d.ts +4 -5
- package/dist/server/normalize-path.d.ts +5 -6
- package/dist/server/open-redirect.d.ts +2 -3
- package/dist/server/opentelemetry-api.d.ts +59 -0
- package/dist/server/opentelemetry-api.js +53 -0
- package/dist/server/opentelemetry-tracing.d.ts +5 -0
- package/dist/server/opentelemetry-tracing.js +83 -0
- package/dist/server/operation-token.d.ts +11 -12
- package/dist/server/otel-tracer-extension.d.ts +7 -9
- package/dist/server/otel-tracer-extension.js +37 -36
- package/dist/server/pages-api-route.d.ts +5 -4
- package/dist/server/pages-api-route.js +20 -7
- package/dist/server/pages-asset-tags.d.ts +6 -6
- package/dist/server/pages-asset-tags.js +37 -2
- package/dist/server/pages-body-parser-config.d.ts +4 -5
- package/dist/server/pages-body-parser-config.js +4 -4
- package/dist/server/pages-client-assets.d.ts +11 -5
- package/dist/server/pages-data-route.d.ts +11 -12
- package/dist/server/pages-data-route.js +1 -1
- package/dist/server/pages-default-404.d.ts +3 -4
- package/dist/server/pages-dev-hydration.d.ts +9 -4
- package/dist/server/pages-dev-hydration.js +19 -7
- package/dist/server/pages-dev-module-url.d.ts +3 -4
- package/dist/server/pages-dev-stylesheets.d.ts +5 -6
- package/dist/server/pages-document-asset-props.d.ts +6 -7
- package/dist/server/pages-document-initial-props.d.ts +5 -5
- package/dist/server/pages-document-initial-props.js +4 -2
- package/dist/server/pages-execution-tracing.d.ts +40 -0
- package/dist/server/pages-execution-tracing.js +80 -0
- package/dist/server/pages-get-initial-props.d.ts +9 -10
- package/dist/server/pages-i18n.d.ts +8 -8
- package/dist/server/pages-media-type.d.ts +4 -5
- package/dist/server/pages-node-compat.d.ts +11 -10
- package/dist/server/pages-node-compat.js +12 -4
- package/dist/server/pages-page-data.d.ts +18 -19
- package/dist/server/pages-page-data.js +11 -10
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +77 -39
- package/dist/server/pages-page-method.d.ts +2 -3
- package/dist/server/pages-page-response.d.ts +14 -10
- package/dist/server/pages-page-response.js +49 -31
- package/dist/server/pages-preview.d.ts +10 -11
- package/dist/server/pages-readiness.d.ts +2 -3
- package/dist/server/pages-request-pipeline.d.ts +14 -12
- package/dist/server/pages-request-pipeline.js +60 -30
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +314 -0
- package/dist/server/pages-response-stage-entry.d.ts +11 -0
- package/dist/server/pages-response-stage-entry.js +106 -0
- package/dist/server/pages-response-stage.d.ts +31 -0
- package/dist/server/pages-response-stage.js +49 -0
- package/dist/server/pages-revalidate.d.ts +3 -4
- package/dist/server/pages-revalidate.js +9 -4
- package/dist/server/pages-route-data-kind.d.ts +18 -0
- package/dist/server/pages-route-data-kind.js +11 -0
- package/dist/server/pages-router-entry.d.ts +1 -25
- package/dist/server/pages-router-entry.js +35 -148
- package/dist/server/pages-serializable-props.d.ts +3 -4
- package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
- package/dist/server/pregenerated-concrete-paths.js +12 -6
- package/dist/server/prerender-cache-life-header.d.ts +3 -4
- package/dist/server/prerender-manifest.d.ts +11 -11
- package/dist/server/prerender-manifest.js +6 -3
- package/dist/server/prerender-route-params.d.ts +16 -9
- package/dist/server/prerender-route-params.js +18 -3
- package/dist/server/prerender-work-unit-setup.d.ts +2 -3
- package/dist/server/prerender-work-unit-setup.js +5 -5
- package/dist/server/prod-server.d.ts +12 -9
- package/dist/server/prod-server.js +124 -31
- package/dist/server/proxy-trust.d.ts +5 -6
- package/dist/server/request-log.d.ts +3 -4
- package/dist/server/request-pipeline.d.ts +16 -16
- package/dist/server/request-pipeline.js +7 -2
- package/dist/server/request-stage.d.ts +5 -0
- package/dist/server/request-stage.js +7 -0
- package/dist/server/request-tracing.d.ts +22 -0
- package/dist/server/request-tracing.js +180 -0
- package/dist/server/response-stage-cacheability.d.ts +37 -0
- package/dist/server/response-stage-cacheability.js +55 -0
- package/dist/server/response-stage-policy.d.ts +23 -0
- package/dist/server/response-stage-policy.js +89 -0
- package/dist/server/response-stage.d.ts +5 -0
- package/dist/server/response-stage.js +7 -0
- package/dist/server/response-start-tracing.d.ts +14 -0
- package/dist/server/response-start-tracing.js +80 -0
- package/dist/server/revalidation-host.d.ts +2 -3
- package/dist/server/revalidation-host.js +1 -1
- package/dist/server/revalidation-request.d.ts +8 -0
- package/dist/server/revalidation-request.js +37 -0
- package/dist/server/rsc-completion-metadata.d.ts +6 -7
- package/dist/server/rsc-stream-hints.d.ts +18 -7
- package/dist/server/rsc-stream-hints.js +70 -35
- package/dist/server/seed-cache.d.ts +2 -3
- package/dist/server/seed-cache.js +8 -7
- package/dist/server/server-action-not-found.d.ts +5 -6
- package/dist/server/server-globals.d.ts +2 -3
- package/dist/server/skip-cache-proof.d.ts +4 -4
- package/dist/server/socket-error-backstop.d.ts +5 -6
- package/dist/server/socket-error-backstop.js +1 -1
- package/dist/server/static-file-cache.d.ts +5 -6
- package/dist/server/static-file-cache.js +9 -7
- package/dist/server/static-file-signal.d.ts +9 -6
- package/dist/server/static-file-signal.js +51 -2
- package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
- package/dist/server/streaming-metadata.d.ts +2 -3
- package/dist/server/tracer.d.ts +5 -0
- package/dist/server/tracer.js +13 -0
- package/dist/server/worker-prerender-discovery.d.ts +5 -6
- package/dist/server/worker-revalidation-context.d.ts +2 -3
- package/dist/server/worker-revalidation-context.js +5 -5
- package/dist/server/worker-stages.d.ts +43 -0
- package/dist/server/worker-stages.js +25 -0
- package/dist/server/worker-utils.d.ts +5 -6
- package/dist/server/worker-utils.js +2 -1
- package/dist/server/workers-tracing.d.ts +17 -0
- package/dist/server/workers-tracing.js +27 -0
- package/dist/shims/amp.d.ts +3 -4
- package/dist/shims/app-router-scroll-state.d.ts +9 -10
- package/dist/shims/app-router-scroll.d.ts +4 -5
- package/dist/shims/app-router-scroll.js +2 -1
- package/dist/shims/app.d.ts +5 -6
- package/dist/shims/before-interactive-context.d.ts +5 -6
- package/dist/shims/cache-callable-runtime.d.ts +44 -4
- package/dist/shims/cache-callable-runtime.js +168 -8
- package/dist/shims/cache-for-request.d.ts +2 -3
- package/dist/shims/cache-handler.d.ts +33 -20
- package/dist/shims/cache-handler.js +61 -2
- package/dist/shims/cache-request-state.d.ts +28 -29
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +107 -27
- package/dist/shims/cache.d.ts +15 -15
- package/dist/shims/cache.js +15 -13
- package/dist/shims/cacheability-classification.d.ts +49 -28
- package/dist/shims/cacheability-classification.js +27 -12
- package/dist/shims/cdn-cache-state.d.ts +13 -0
- package/dist/shims/cdn-cache-state.js +23 -0
- package/dist/shims/cdn-cache.d.ts +50 -21
- package/dist/shims/cdn-cache.js +15 -38
- package/dist/shims/client-hook-error.d.ts +3 -4
- package/dist/shims/client-locale.d.ts +2 -3
- package/dist/shims/client-page-root.d.ts +24 -0
- package/dist/shims/client-page-root.js +121 -0
- package/dist/shims/compat-router.d.ts +2 -3
- package/dist/shims/config.d.ts +3 -4
- package/dist/shims/constants.d.ts +73 -74
- package/dist/shims/constants.js +1 -1
- package/dist/shims/default-not-found.d.ts +2 -3
- package/dist/shims/document.d.ts +9 -9
- package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
- package/dist/shims/dynamic-preload-chunks.js +17 -13
- package/dist/shims/dynamic.d.ts +3 -3
- package/dist/shims/error-boundary-navigation.d.ts +3 -4
- package/dist/shims/error-boundary.d.ts +17 -18
- package/dist/shims/error-boundary.js +17 -11
- package/dist/shims/error.d.ts +4 -4
- package/dist/shims/error.react-server.d.ts +3 -4
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +42 -17
- package/dist/shims/font-google-base.d.ts +9 -9
- package/dist/shims/font-google-base.js +2 -1
- package/dist/shims/font-local.d.ts +3 -3
- package/dist/shims/font-local.js +1 -1
- package/dist/shims/font-utils.d.ts +14 -15
- package/dist/shims/form.d.ts +2 -2
- package/dist/shims/form.js +10 -7
- package/dist/shims/hash-scroll.d.ts +5 -6
- package/dist/shims/head-state.d.ts +4 -5
- package/dist/shims/head.d.ts +16 -16
- package/dist/shims/head.js +5 -4
- package/dist/shims/headers.d.ts +67 -33
- package/dist/shims/headers.js +93 -6
- package/dist/shims/i18n-context.d.ts +5 -6
- package/dist/shims/i18n-state.d.ts +4 -5
- package/dist/shims/image-config.d.ts +5 -6
- package/dist/shims/image-config.js +2 -0
- package/dist/shims/image.d.ts +5 -5
- package/dist/shims/image.js +12 -8
- package/dist/shims/internal/als-registry.d.ts +4 -5
- package/dist/shims/internal/api-utils.d.ts +3 -4
- package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
- package/dist/shims/internal/app-page-props-cache-key.js +53 -1
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
- package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
- package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
- package/dist/shims/internal/app-route-detection.d.ts +2 -2
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
- package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
- package/dist/shims/internal/app-router-context.d.ts +9 -10
- package/dist/shims/internal/cookie-serialize.d.ts +4 -5
- package/dist/shims/internal/format-url-object.d.ts +7 -0
- package/dist/shims/internal/format-url-object.js +53 -0
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
- package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
- package/dist/shims/internal/interpolate-as.d.ts +5 -6
- package/dist/shims/internal/interpolate-as.js +4 -2
- package/dist/shims/internal/link-status-registry.d.ts +5 -6
- package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
- package/dist/shims/internal/navigation-untracked.d.ts +2 -3
- package/dist/shims/internal/normalize-router-href.d.ts +15 -0
- package/dist/shims/internal/normalize-router-href.js +41 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
- package/dist/shims/internal/pages-data-target.d.ts +8 -6
- package/dist/shims/internal/pages-data-target.js +32 -36
- package/dist/shims/internal/pages-data-url.d.ts +4 -5
- package/dist/shims/internal/pages-data-url.js +2 -1
- package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
- package/dist/shims/internal/pages-router-components.d.ts +3 -4
- package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
- package/dist/shims/internal/route-pattern-for-warning.js +3 -3
- package/dist/shims/internal/router-context.d.ts +2 -3
- package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
- package/dist/shims/internal/thenable-well-known-properties.js +33 -0
- package/dist/shims/internal/utils.d.ts +7 -8
- package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
- package/dist/shims/layout-segment-context.d.ts +3 -4
- package/dist/shims/link-prefetch.d.ts +9 -10
- package/dist/shims/link.d.ts +4 -4
- package/dist/shims/link.js +56 -116
- package/dist/shims/metadata.d.ts +15 -16
- package/dist/shims/metadata.js +40 -36
- package/dist/shims/navigation-context-accessors.d.ts +9 -0
- package/dist/shims/navigation-context-accessors.js +19 -0
- package/dist/shims/navigation-context-state.d.ts +27 -18
- package/dist/shims/navigation-errors.d.ts +18 -19
- package/dist/shims/navigation-state.d.ts +6 -7
- package/dist/shims/navigation.d.ts +80 -68
- package/dist/shims/navigation.js +24 -16
- package/dist/shims/navigation.react-server.d.ts +9 -9
- package/dist/shims/offline.d.ts +2 -3
- package/dist/shims/og.d.ts +2 -2
- package/dist/shims/pages-router-runtime.d.ts +4 -5
- package/dist/shims/ppr-fallback-shell.d.ts +13 -14
- package/dist/shims/readonly-url-search-params.d.ts +2 -3
- package/dist/shims/request-context.d.ts +5 -6
- package/dist/shims/root-params.d.ts +14 -15
- package/dist/shims/router-state.d.ts +5 -6
- package/dist/shims/router-state.js +1 -1
- package/dist/shims/router.d.ts +22 -21
- package/dist/shims/router.js +339 -164
- package/dist/shims/script-nonce-context.d.ts +8 -6
- package/dist/shims/script-nonce-context.js +15 -6
- package/dist/shims/script.d.ts +4 -4
- package/dist/shims/script.js +9 -7
- package/dist/shims/search-params-gate.d.ts +35 -0
- package/dist/shims/search-params-gate.js +32 -0
- package/dist/shims/server.d.ts +19 -51
- package/dist/shims/server.js +14 -28
- package/dist/shims/slot.d.ts +33 -15
- package/dist/shims/slot.js +41 -9
- package/dist/shims/streamed-icons.d.ts +3 -4
- package/dist/shims/thenable-params.d.ts +5 -7
- package/dist/shims/thenable-params.js +3 -24
- package/dist/shims/unified-request-context.d.ts +34 -31
- package/dist/shims/unified-request-context.js +34 -24
- package/dist/shims/unrecognized-action-error.d.ts +3 -4
- package/dist/shims/url-safety.d.ts +5 -6
- package/dist/shims/url-utils.d.ts +12 -13
- package/dist/shims/use-merged-ref.d.ts +2 -3
- package/dist/shims/user-agent.d.ts +31 -0
- package/dist/shims/user-agent.js +16 -0
- package/dist/shims/web-vitals.d.ts +2 -2
- package/dist/typegen.d.ts +3 -4
- package/dist/utils/asset-prefix.d.ts +7 -8
- package/dist/utils/base-path.d.ts +5 -6
- package/dist/utils/built-asset-url.d.ts +2 -3
- package/dist/utils/built-asset-url.js +1 -1
- package/dist/utils/cache-control-metadata.d.ts +4 -5
- package/dist/utils/client-build-manifest.d.ts +6 -7
- package/dist/utils/client-build-manifest.js +2 -1
- package/dist/utils/client-entry-manifest.d.ts +6 -7
- package/dist/utils/client-runtime-metadata.d.ts +8 -3
- package/dist/utils/client-runtime-metadata.js +18 -1
- package/dist/utils/commonjs-loader.d.ts +4 -5
- package/dist/utils/compare.d.ts +2 -3
- package/dist/utils/deployment-id.d.ts +6 -7
- package/dist/utils/dev-error-recovery-event.d.ts +2 -3
- package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
- package/dist/utils/domain-locale.d.ts +7 -8
- package/dist/utils/encode-cache-tag.d.ts +3 -4
- package/dist/utils/error-cause.d.ts +2 -3
- package/dist/utils/external-url.d.ts +2 -3
- package/dist/utils/has-trailing-comma.d.ts +3 -4
- package/dist/utils/hash.d.ts +3 -4
- package/dist/utils/html-limited-bots.d.ts +3 -4
- package/dist/utils/lazy-chunks.d.ts +8 -9
- package/dist/utils/lazy-chunks.js +4 -4
- package/dist/utils/manifest-paths.d.ts +5 -6
- package/dist/utils/mdx-scan.d.ts +11 -4
- package/dist/utils/mdx-scan.js +27 -1
- package/dist/utils/middleware-request-headers.d.ts +7 -6
- package/dist/utils/middleware-request-headers.js +6 -1
- package/dist/utils/navigation-signal.d.ts +3 -3
- package/dist/utils/navigation-signal.js +16 -1
- package/dist/utils/number.d.ts +2 -3
- package/dist/utils/package-name.d.ts +3 -4
- package/dist/utils/parse-cookie.d.ts +4 -5
- package/dist/utils/path.d.ts +8 -9
- package/dist/utils/plugin-options.d.ts +2 -3
- package/dist/utils/precompressed-variant.d.ts +3 -4
- package/dist/utils/prerender-output-paths.d.ts +4 -5
- package/dist/utils/project.d.ts +19 -30
- package/dist/utils/project.js +20 -29
- package/dist/utils/promise.d.ts +2 -3
- package/dist/utils/protocol-headers.d.ts +14 -15
- package/dist/utils/public-file-path.d.ts +2 -3
- package/dist/utils/public-routes.d.ts +2 -3
- package/dist/utils/query.d.ts +14 -9
- package/dist/utils/query.js +22 -1
- package/dist/utils/react-compiler-support.d.ts +6 -7
- package/dist/utils/react-version.d.ts +4 -3
- package/dist/utils/react-version.js +19 -1
- package/dist/utils/record.d.ts +2 -3
- package/dist/utils/redirect-digest.d.ts +3 -4
- package/dist/utils/regex-safety.d.ts +4 -5
- package/dist/utils/regex.d.ts +2 -3
- package/dist/utils/safe-json-file.d.ts +2 -3
- package/dist/utils/sorted-array.d.ts +2 -3
- package/dist/utils/text-stream.d.ts +3 -4
- package/dist/utils/vinext-root.d.ts +2 -3
- package/dist/utils/virtual-module.d.ts +3 -4
- package/dist/utils/vite-cli-invocation.d.ts +21 -0
- package/dist/utils/vite-cli-invocation.js +144 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +47 -6
|
@@ -1,171 +1,58 @@
|
|
|
1
|
-
import { normalizePathnameForRouteMatchStrict } from "../routing/utils.js";
|
|
2
|
-
import { hasBasePath, stripBasePath } from "../utils/base-path.js";
|
|
3
1
|
import { runWithExecutionContext } from "../shims/request-context.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { notFoundStaticAssetResponse } from "./http-error-responses.js";
|
|
7
|
-
import { isOpenRedirectShaped } from "./open-redirect.js";
|
|
8
|
-
import { cloneRequestWithHeaders, cloneRequestWithUrl, filterInternalHeaders } from "./request-pipeline.js";
|
|
2
|
+
import { VINEXT_CACHEABILITY_PROBE_HEADER, VINEXT_CACHEABILITY_PROBE_QUERY_PARAM } from "./headers.js";
|
|
3
|
+
import { cloneRequestWithHeaders, cloneRequestWithUrl } from "./request-pipeline.js";
|
|
9
4
|
import { getCdnCacheAdapter } from "../shims/cdn-cache.js";
|
|
10
|
-
import {
|
|
11
|
-
import { assetPrefixPathname, isNextStaticPath } from "../utils/asset-prefix.js";
|
|
12
|
-
import { DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, handleConfiguredImageOptimization, isImageOptimizationPath } from "./image-optimization.js";
|
|
13
|
-
import { finalizeMissingStaticAssetResponse } from "./worker-utils.js";
|
|
14
|
-
import { fetchWorkerFilesystemRoute, runPagesRequest, wrapMiddlewareWithBasePath } from "./pages-request-pipeline.js";
|
|
5
|
+
import { validateCdnRequest } from "./cache-control.js";
|
|
15
6
|
import { createWorkerRevalidationContext } from "./worker-revalidation-context.js";
|
|
16
|
-
import { createWorkerPrerenderDiscoveryContext, createWorkerPrerenderReadinessResponse
|
|
7
|
+
import { createWorkerPrerenderDiscoveryContext, createWorkerPrerenderReadinessResponse } from "./worker-prerender-discovery.js";
|
|
8
|
+
import { handleRequestStageLocally, pagesRequestStageBuildId, pagesRequestStagePrerenderSecret } from "./pages-request-stage-entry.js";
|
|
9
|
+
import { renderPagesResponse } from "./pages-response-stage-entry.js";
|
|
17
10
|
import { registerConfiguredCacheAdapters } from "virtual:vinext-cache-adapters";
|
|
18
|
-
import {
|
|
19
|
-
import
|
|
11
|
+
import { __ensureInstrumentation } from "virtual:vinext-pages-request-entry";
|
|
12
|
+
import { __ensureInstrumentation as __ensureInstrumentation$1 } from "virtual:vinext-pages-response-entry";
|
|
20
13
|
import __cacheabilityManifest from "virtual:vinext-cacheability-manifest";
|
|
21
14
|
//#region src/server/pages-router-entry.ts
|
|
22
|
-
/**
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
* New projects should usually use the router-selected entry in wrangler.jsonc:
|
|
26
|
-
* "main": "vinext/server/fetch-handler"
|
|
27
|
-
*
|
|
28
|
-
* This Pages Router entry remains available for existing configs and for custom
|
|
29
|
-
* workers that need to opt into the Pages Router handler explicitly:
|
|
30
|
-
* "main": "vinext/server/pages-router-entry"
|
|
31
|
-
*
|
|
32
|
-
* Or import and delegate to it from a custom worker:
|
|
33
|
-
* import handler from "vinext/server/pages-router-entry";
|
|
34
|
-
* return handler.fetch(request, env, ctx);
|
|
35
|
-
*/
|
|
36
|
-
const { authorizeOnDemandRevalidate, handleApiRoute, hasMiddleware, matchApiRoute, matchPageRoute, normalizeDataRequest, publicFiles, renderPage, runMiddleware, vinextConfig } = pagesEntry;
|
|
37
|
-
const basePath = vinextConfig?.basePath ?? "";
|
|
38
|
-
const assetPathPrefix = assetPrefixPathname(vinextConfig?.assetPrefix ?? "");
|
|
39
|
-
const trailingSlash = vinextConfig?.trailingSlash ?? false;
|
|
40
|
-
const i18nConfig = vinextConfig?.i18n ?? null;
|
|
41
|
-
const configRedirects = vinextConfig?.redirects ?? [];
|
|
42
|
-
const configRewrites = vinextConfig?.rewrites ?? {
|
|
43
|
-
beforeFiles: [],
|
|
44
|
-
afterFiles: [],
|
|
45
|
-
fallback: []
|
|
46
|
-
};
|
|
47
|
-
const configHeaders = vinextConfig?.headers ?? [];
|
|
48
|
-
const imageConfig = vinextConfig?.images ? {
|
|
49
|
-
qualities: vinextConfig.images.qualities,
|
|
50
|
-
dangerouslyAllowSVG: vinextConfig.images.dangerouslyAllowSVG,
|
|
51
|
-
dangerouslyAllowLocalIP: vinextConfig.images.dangerouslyAllowLocalIP,
|
|
52
|
-
contentDispositionType: vinextConfig.images.contentDispositionType,
|
|
53
|
-
contentSecurityPolicy: vinextConfig.images.contentSecurityPolicy
|
|
54
|
-
} : void 0;
|
|
55
|
-
var pages_router_entry_default = { async fetch(request, env, ctx) {
|
|
56
|
-
return applyCdnResponseIdentityHeaders(await handleRequest(request, env, ctx), request);
|
|
57
|
-
} };
|
|
58
|
-
async function handleRequest(request, env, platformCtx) {
|
|
59
|
-
const requestCtx = createWorkerRevalidationContext(platformCtx, (internalRequest, internalCtx) => handleRequest(internalRequest, env, internalCtx));
|
|
15
|
+
/** Router-specific single-entry Worker facade for vinext Pages Router. */
|
|
16
|
+
async function handleSingleStageRequest(request, env, platformCtx) {
|
|
17
|
+
const ctxWithRevalidation = createWorkerRevalidationContext(platformCtx, (internalRequest, internalCtx) => handleSingleStageRequest(internalRequest, env, internalCtx), "worker");
|
|
60
18
|
registerConfiguredCacheAdapters(env);
|
|
61
|
-
const
|
|
62
|
-
let ctx = createWorkerPrerenderDiscoveryContext(
|
|
19
|
+
const adapter = getCdnCacheAdapter();
|
|
20
|
+
let ctx = createWorkerPrerenderDiscoveryContext(ctxWithRevalidation, request, pagesRequestStagePrerenderSecret);
|
|
63
21
|
const readinessResponse = createWorkerPrerenderReadinessResponse(ctx, request);
|
|
64
|
-
if (readinessResponse)
|
|
65
|
-
|
|
22
|
+
if (readinessResponse) {
|
|
23
|
+
if (readinessResponse.status === 204) await Promise.all([__ensureInstrumentation(), __ensureInstrumentation$1()]);
|
|
24
|
+
return await validateCdnRequest(request) ?? readinessResponse;
|
|
25
|
+
}
|
|
26
|
+
let finalize;
|
|
66
27
|
if (request.headers.has("X-Vinext-Cacheability-Probe")) {
|
|
67
28
|
const cacheability = await import("./cacheability-request.js");
|
|
68
|
-
const probeContext = cacheability.createWorkerCacheabilityContext(ctx, request,
|
|
29
|
+
const probeContext = cacheability.createWorkerCacheabilityContext(ctx, request, pagesRequestStagePrerenderSecret, adapter.responseVary);
|
|
69
30
|
if (probeContext !== ctx) {
|
|
70
31
|
ctx = probeContext;
|
|
71
|
-
|
|
32
|
+
finalize = cacheability.finalizeWorkerCacheabilityResponse;
|
|
72
33
|
const probeUrl = new URL(request.url);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
34
|
+
probeUrl.searchParams.delete(VINEXT_CACHEABILITY_PROBE_QUERY_PARAM);
|
|
35
|
+
request = cloneRequestWithUrl(request, probeUrl.toString());
|
|
36
|
+
const headers = new Headers(request.headers);
|
|
37
|
+
headers.delete(VINEXT_CACHEABILITY_PROBE_HEADER);
|
|
38
|
+
request = cloneRequestWithHeaders(request, headers);
|
|
77
39
|
}
|
|
78
40
|
}
|
|
79
|
-
const requiresCompletedResponseAdmission =
|
|
80
|
-
if (!
|
|
41
|
+
const requiresCompletedResponseAdmission = adapter.requiresCompletedResponseAdmission === true;
|
|
42
|
+
if (!finalize && (__cacheabilityManifest || requiresCompletedResponseAdmission)) {
|
|
81
43
|
const cacheability = await import("./cacheability-request.js");
|
|
82
|
-
const admissionContext = cacheability.createWorkerCacheabilityAdmissionContext(ctx, request, __cacheabilityManifest,
|
|
44
|
+
const admissionContext = cacheability.createWorkerCacheabilityAdmissionContext(ctx, request, __cacheabilityManifest, pagesRequestStageBuildId, requiresCompletedResponseAdmission, adapter.responseVary);
|
|
83
45
|
if (admissionContext !== ctx) {
|
|
84
46
|
ctx = admissionContext;
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
const finalize = (response) => finalizeCacheabilityResponse ? finalizeCacheabilityResponse(response, ctx) : Promise.resolve(response);
|
|
89
|
-
registerConfiguredImageOptimizer(env);
|
|
90
|
-
try {
|
|
91
|
-
const cdnValidationResponse = await validateCdnRequest(request);
|
|
92
|
-
if (cdnValidationResponse) return finalize(cdnValidationResponse);
|
|
93
|
-
let pathname = new URL(request.url).pathname;
|
|
94
|
-
if (ctx.isPrerenderPathDiscovery && isWorkerPrerenderDiscoveryPath(pathname)) {
|
|
95
|
-
const { handleAppPrerenderEndpoint } = await import("./app-prerender-endpoints.js");
|
|
96
|
-
const response = await runWithExecutionContext(ctx, () => handleAppPrerenderEndpoint(request, {
|
|
97
|
-
isPrerenderEnabled: () => true,
|
|
98
|
-
loadPagesRoutes: async () => pagesEntry.pageRoutes,
|
|
99
|
-
pathname,
|
|
100
|
-
staticParamsMap: {}
|
|
101
|
-
}));
|
|
102
|
-
if (response) return finalize(response);
|
|
47
|
+
finalize = cacheability.finalizeWorkerCacheabilityResponse;
|
|
103
48
|
}
|
|
104
|
-
if (isOpenRedirectShaped(pathname)) return finalize(new Response("This page could not be found", { status: 404 }));
|
|
105
|
-
try {
|
|
106
|
-
normalizePathnameForRouteMatchStrict(pathname);
|
|
107
|
-
} catch {
|
|
108
|
-
return finalize(new Response("Bad Request", { status: 400 }));
|
|
109
|
-
}
|
|
110
|
-
const missingBuildAsset = isNextStaticPath(pathname, basePath, assetPathPrefix);
|
|
111
|
-
const filteredHeaders = ctx.isInternalPagesRevalidation ? new Headers(request.headers) : filterInternalHeaders(request.headers);
|
|
112
|
-
filteredHeaders.delete(VINEXT_PRERENDER_SECRET_HEADER);
|
|
113
|
-
filteredHeaders.delete(VINEXT_REVALIDATE_HOST_HEADER);
|
|
114
|
-
request = cloneRequestWithHeaders(request, filteredHeaders);
|
|
115
|
-
const hadBasePath = !basePath || hasBasePath(pathname, basePath);
|
|
116
|
-
{
|
|
117
|
-
const stripped = stripBasePath(pathname, basePath);
|
|
118
|
-
if (stripped !== pathname) {
|
|
119
|
-
const strippedUrl = new URL(request.url);
|
|
120
|
-
strippedUrl.pathname = stripped;
|
|
121
|
-
request = cloneRequestWithUrl(request, strippedUrl.toString());
|
|
122
|
-
pathname = stripped;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
const middlewareRequest = request;
|
|
126
|
-
const dataNorm = normalizeDataRequest(request);
|
|
127
|
-
if (dataNorm.notFoundResponse && !vinextConfig?.skipProxyUrlNormalize) return finalize(dataNorm.notFoundResponse);
|
|
128
|
-
const isDataReq = dataNorm.isDataReq;
|
|
129
|
-
if (isDataReq && dataNorm.normalizedPathname) {
|
|
130
|
-
request = dataNorm.request;
|
|
131
|
-
pathname = dataNorm.normalizedPathname;
|
|
132
|
-
}
|
|
133
|
-
const deps = {
|
|
134
|
-
basePath,
|
|
135
|
-
trailingSlash,
|
|
136
|
-
i18nConfig,
|
|
137
|
-
configRedirects,
|
|
138
|
-
configRewrites,
|
|
139
|
-
configHeaders,
|
|
140
|
-
hadBasePath,
|
|
141
|
-
isDataReq,
|
|
142
|
-
isDataRequest: isDataReq,
|
|
143
|
-
hasMiddleware,
|
|
144
|
-
ctx,
|
|
145
|
-
middlewareRequest: isDataReq && vinextConfig?.skipProxyUrlNormalize ? middlewareRequest : void 0,
|
|
146
|
-
dataNotFoundResponse: vinextConfig?.skipProxyUrlNormalize ? dataNorm.notFoundResponse : null,
|
|
147
|
-
authorizeOnDemandRevalidate: typeof authorizeOnDemandRevalidate === "function" ? authorizeOnDemandRevalidate : void 0,
|
|
148
|
-
matchApiRoute: typeof matchApiRoute === "function" ? matchApiRoute : null,
|
|
149
|
-
matchPageRoute: typeof matchPageRoute === "function" ? matchPageRoute : null,
|
|
150
|
-
runMiddleware: typeof runMiddleware === "function" ? wrapMiddlewareWithBasePath(runMiddleware, basePath, hadBasePath) : null,
|
|
151
|
-
renderPage: typeof renderPage === "function" ? (req, resolvedUrl, options, stagedHeaders) => renderPage(req, resolvedUrl, null, ctx, stagedHeaders, options) : null,
|
|
152
|
-
handleApi: typeof handleApiRoute === "function" ? (req, apiUrl) => handleApiRoute(req, apiUrl, ctx, new URL(req.url).origin, "worker") : null,
|
|
153
|
-
serveFilesystemRoute: async (requestPathname, _stagedHeaders, phase, resolvedUrl) => {
|
|
154
|
-
if (!env?.ASSETS) return false;
|
|
155
|
-
if (isImageOptimizationPath(requestPathname)) {
|
|
156
|
-
const imageUrl = new URL(resolvedUrl, request.url);
|
|
157
|
-
return handleConfiguredImageOptimization(new Request(imageUrl, request), (assetPath) => Promise.resolve(env.ASSETS.fetch(new Request(new URL(assetPath, request.url)))), [...vinextConfig?.images?.deviceSizes ?? DEFAULT_DEVICE_SIZES, ...vinextConfig?.images?.imageSizes ?? DEFAULT_IMAGE_SIZES], imageConfig);
|
|
158
|
-
}
|
|
159
|
-
return fetchWorkerFilesystemRoute(request, requestPathname, phase, (assetRequest) => Promise.resolve(env.ASSETS.fetch(assetRequest)), publicFiles, missingBuildAsset);
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
const result = await runPagesRequest(request, deps);
|
|
163
|
-
if (result.type === "response") return finalize(finalizeMissingStaticAssetResponse(result.response, missingBuildAsset));
|
|
164
|
-
return finalize(missingBuildAsset ? notFoundStaticAssetResponse() : new Response("This page could not be found", { status: 404 }));
|
|
165
|
-
} catch (error) {
|
|
166
|
-
console.error("[vinext] Worker error:", error);
|
|
167
|
-
return finalize(new Response("Internal Server Error", { status: 500 }));
|
|
168
49
|
}
|
|
50
|
+
const response = await handleRequestStageLocally(request, env, ctx, (stageRequest, stageEnv, stageCtx, props) => renderPagesResponse(stageRequest, stageEnv, stageCtx, props));
|
|
51
|
+
return finalize ? finalize(response, ctx) : response;
|
|
169
52
|
}
|
|
53
|
+
var pages_router_entry_default = { fetch(request, env, ctx) {
|
|
54
|
+
const handle = () => handleSingleStageRequest(request, env, ctx);
|
|
55
|
+
return ctx && typeof ctx.waitUntil === "function" ? runWithExecutionContext(ctx, handle) : handle();
|
|
56
|
+
} };
|
|
170
57
|
//#endregion
|
|
171
58
|
export { pages_router_entry_default as default };
|
|
@@ -16,9 +16,8 @@
|
|
|
16
16
|
* `pages-page-data.ts` so users see a clear error instead of an empty page
|
|
17
17
|
* when they accidentally return a `Date`, `Map`, or class instance.
|
|
18
18
|
*/
|
|
19
|
-
declare class SerializableError extends Error {
|
|
19
|
+
export declare class SerializableError extends Error {
|
|
20
20
|
constructor(page: string, method: string, path: string, message: string);
|
|
21
21
|
}
|
|
22
|
-
declare function isSerializableProps(page: string, method: string, input: unknown): true;
|
|
23
|
-
//#endregion
|
|
24
|
-
export { SerializableError, isSerializableProps };
|
|
22
|
+
export declare function isSerializableProps(page: string, method: string, input: unknown): true;
|
|
23
|
+
//#endregion
|
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
declare global {
|
|
3
3
|
var __VINEXT_PREGENERATED_CONCRETE_PATHS: unknown;
|
|
4
4
|
}
|
|
5
|
-
|
|
6
|
-
declare
|
|
7
|
-
declare function
|
|
8
|
-
declare function
|
|
5
|
+
/** Stable post-build module populated after prerendering completes. */
|
|
6
|
+
export declare const PREGENERATED_CONCRETE_PATHS_MODULE = "__vinext_pregenerated_concrete_paths.js";
|
|
7
|
+
export declare function normalizePregeneratedPathname(pathname: string): string;
|
|
8
|
+
export declare function clearPregeneratedConcretePaths(): void;
|
|
9
|
+
export declare function addPregeneratedRoute(routePattern: string): void;
|
|
10
|
+
export declare function addPregeneratedConcretePath(routePattern: string, pathname: string): void;
|
|
11
|
+
export declare function getRenderedConcreteUrlPathsForRoute(routePattern: string): ReadonlySet<string> | undefined;
|
|
9
12
|
/**
|
|
10
13
|
* Populate the registry from `globalThis.__VINEXT_PREGENERATED_CONCRETE_PATHS`.
|
|
11
14
|
* No-op when the global is not set (Node path — seed-cache handles it later).
|
|
12
15
|
* Pathnames are normalised so they match the runtime `cleanPathname`.
|
|
13
16
|
*/
|
|
14
|
-
declare function initPregeneratedPathsFromGlobals(): void;
|
|
15
|
-
//#endregion
|
|
16
|
-
export { addPregeneratedConcretePath, clearPregeneratedConcretePaths, getRenderedConcreteUrlPathsForRoute, initPregeneratedPathsFromGlobals, normalizePregeneratedPathname };
|
|
17
|
+
export declare function initPregeneratedPathsFromGlobals(): void;
|
|
18
|
+
//#endregion
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { normalizePathnameForRouteMatch } from "../routing/utils.js";
|
|
2
2
|
import { normalizePath } from "./normalize-path.js";
|
|
3
3
|
//#region src/server/pregenerated-concrete-paths.ts
|
|
4
|
+
/** Stable post-build module populated after prerendering completes. */
|
|
5
|
+
const PREGENERATED_CONCRETE_PATHS_MODULE = "__vinext_pregenerated_concrete_paths.js";
|
|
4
6
|
function normalizePregeneratedPathname(pathname) {
|
|
5
7
|
return normalizePath(normalizePathnameForRouteMatch(pathname));
|
|
6
8
|
}
|
|
@@ -16,12 +18,13 @@ const concreteUrlPathsByRoute = /* @__PURE__ */ new Map();
|
|
|
16
18
|
function clearPregeneratedConcretePaths() {
|
|
17
19
|
concreteUrlPathsByRoute.clear();
|
|
18
20
|
}
|
|
21
|
+
function addPregeneratedRoute(routePattern) {
|
|
22
|
+
if (!concreteUrlPathsByRoute.has(routePattern)) concreteUrlPathsByRoute.set(routePattern, /* @__PURE__ */ new Set());
|
|
23
|
+
}
|
|
19
24
|
function addPregeneratedConcretePath(routePattern, pathname) {
|
|
25
|
+
addPregeneratedRoute(routePattern);
|
|
20
26
|
let paths = concreteUrlPathsByRoute.get(routePattern);
|
|
21
|
-
if (!paths)
|
|
22
|
-
paths = /* @__PURE__ */ new Set();
|
|
23
|
-
concreteUrlPathsByRoute.set(routePattern, paths);
|
|
24
|
-
}
|
|
27
|
+
if (!paths) return;
|
|
25
28
|
paths.add(normalizePregeneratedPathname(pathname));
|
|
26
29
|
}
|
|
27
30
|
function getRenderedConcreteUrlPathsForRoute(routePattern) {
|
|
@@ -37,7 +40,10 @@ function initPregeneratedPathsFromGlobals() {
|
|
|
37
40
|
const data = parsePregeneratedConcretePaths(raw);
|
|
38
41
|
if (!data) return;
|
|
39
42
|
clearPregeneratedConcretePaths();
|
|
40
|
-
for (const [routePattern, pathnames] of data)
|
|
43
|
+
for (const [routePattern, pathnames] of data) {
|
|
44
|
+
addPregeneratedRoute(routePattern);
|
|
45
|
+
for (const pathname of pathnames) addPregeneratedConcretePath(routePattern, pathname);
|
|
46
|
+
}
|
|
41
47
|
}
|
|
42
48
|
function parsePregeneratedConcretePaths(value) {
|
|
43
49
|
if (!Array.isArray(value)) return void 0;
|
|
@@ -58,4 +64,4 @@ function parsePregeneratedConcretePaths(value) {
|
|
|
58
64
|
return result;
|
|
59
65
|
}
|
|
60
66
|
//#endregion
|
|
61
|
-
export { addPregeneratedConcretePath, clearPregeneratedConcretePaths, getRenderedConcreteUrlPathsForRoute, initPregeneratedPathsFromGlobals, normalizePregeneratedPathname };
|
|
67
|
+
export { PREGENERATED_CONCRETE_PATHS_MODULE, addPregeneratedConcretePath, addPregeneratedRoute, clearPregeneratedConcretePaths, getRenderedConcreteUrlPathsForRoute, initPregeneratedPathsFromGlobals, normalizePregeneratedPathname };
|
|
@@ -5,7 +5,6 @@ type PrerenderCacheLife = {
|
|
|
5
5
|
/** Client-router dimension — see `resolveClientStaleTimeSeconds`. */
|
|
6
6
|
stale?: number;
|
|
7
7
|
};
|
|
8
|
-
declare function applyPrerenderCacheLifeHeader(headers: Headers, requestCacheLife: PrerenderCacheLife | null | undefined): void;
|
|
9
|
-
declare function applyPrerenderCacheTagsHeader(headers: Headers, cacheTags: readonly string[]): void;
|
|
10
|
-
//#endregion
|
|
11
|
-
export { applyPrerenderCacheLifeHeader, applyPrerenderCacheTagsHeader };
|
|
8
|
+
export declare function applyPrerenderCacheLifeHeader(headers: Headers, requestCacheLife: PrerenderCacheLife | null | undefined): void;
|
|
9
|
+
export declare function applyPrerenderCacheTagsHeader(headers: Headers, cacheTags: readonly string[]): void;
|
|
10
|
+
//#endregion
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
//#region src/server/prerender-manifest.d.ts
|
|
2
|
-
type PrerenderManifestRoute = {
|
|
2
|
+
export type PrerenderManifestRoute = {
|
|
3
3
|
route: string;
|
|
4
4
|
status?: string;
|
|
5
|
+
reason?: string;
|
|
5
6
|
revalidate?: number | false;
|
|
6
7
|
expire?: number;
|
|
7
8
|
/**
|
|
@@ -18,25 +19,25 @@ type PrerenderManifestRoute = {
|
|
|
18
19
|
routeSegments?: string[];
|
|
19
20
|
tags?: string[];
|
|
20
21
|
};
|
|
21
|
-
type PrerenderManifest = {
|
|
22
|
+
export type PrerenderManifest = {
|
|
22
23
|
buildId?: string;
|
|
23
24
|
trailingSlash?: boolean;
|
|
24
25
|
routes?: PrerenderManifestRoute[];
|
|
25
26
|
pregeneratedConcretePaths?: Array<[string, string[]]>;
|
|
26
27
|
};
|
|
27
|
-
type PrerenderedPathSelectionOptions = {
|
|
28
|
+
export type PrerenderedPathSelectionOptions = {
|
|
28
29
|
includeFallbackShells?: boolean;
|
|
29
30
|
includeErrorDocuments?: boolean;
|
|
30
31
|
};
|
|
31
|
-
declare function readPrerenderManifest(manifestPath: string): PrerenderManifest | null;
|
|
32
|
-
declare function getRenderedAppRoutes(routes: PrerenderManifestRoute[]): PrerenderManifestRoute[];
|
|
33
|
-
declare function getRenderedMetadataRoutes(routes: PrerenderManifestRoute[]): PrerenderManifestRoute[];
|
|
32
|
+
export declare function readPrerenderManifest(manifestPath: string): PrerenderManifest | null;
|
|
33
|
+
export declare function getRenderedAppRoutes(routes: PrerenderManifestRoute[]): PrerenderManifestRoute[];
|
|
34
|
+
export declare function getRenderedMetadataRoutes(routes: PrerenderManifestRoute[]): PrerenderManifestRoute[];
|
|
34
35
|
/**
|
|
35
36
|
* Returns true when `pathname` contains bracket-delimited route params,
|
|
36
37
|
* indicating it is a fallback-shell placeholder (e.g. `/en/blog/[slug]`)
|
|
37
38
|
* rather than a concrete rendered URL.
|
|
38
39
|
*/
|
|
39
|
-
declare function isFallbackShellArtifactPath(pathname: string, route?: PrerenderManifestRoute): boolean;
|
|
40
|
+
export declare function isFallbackShellArtifactPath(pathname: string, route?: PrerenderManifestRoute): boolean;
|
|
40
41
|
/**
|
|
41
42
|
* Build the pregenerated concrete-path payload table from a prerender manifest.
|
|
42
43
|
*
|
|
@@ -44,7 +45,7 @@ declare function isFallbackShellArtifactPath(pathname: string, route?: Prerender
|
|
|
44
45
|
* paths by route pattern. Returns an empty array when the manifest has no
|
|
45
46
|
* rendered App routes or all routes are fallback-shell artifacts.
|
|
46
47
|
*/
|
|
47
|
-
declare function buildPregeneratedConcretePathTable(manifest: PrerenderManifest): Array<[string, string[]]>;
|
|
48
|
+
export declare function buildPregeneratedConcretePathTable(manifest: PrerenderManifest): Array<[string, string[]]>;
|
|
48
49
|
/**
|
|
49
50
|
* Select concrete URL paths that were rendered by the prerender engine.
|
|
50
51
|
*
|
|
@@ -54,6 +55,5 @@ declare function buildPregeneratedConcretePathTable(manifest: PrerenderManifest)
|
|
|
54
55
|
* and known error documents are excluded by default so warmup does not request
|
|
55
56
|
* synthetic bracket paths or treat a healthy 404 response as a failed warmup.
|
|
56
57
|
*/
|
|
57
|
-
declare function getPrerenderedConcretePaths(manifest: PrerenderManifest, options?: PrerenderedPathSelectionOptions): string[];
|
|
58
|
-
//#endregion
|
|
59
|
-
export { PrerenderManifest, PrerenderManifestRoute, PrerenderedPathSelectionOptions, buildPregeneratedConcretePathTable, getPrerenderedConcretePaths, getRenderedAppRoutes, getRenderedMetadataRoutes, isFallbackShellArtifactPath, readPrerenderManifest };
|
|
58
|
+
export declare function getPrerenderedConcretePaths(manifest: PrerenderManifest, options?: PrerenderedPathSelectionOptions): string[];
|
|
59
|
+
//#endregion
|
|
@@ -51,10 +51,13 @@ function isFallbackShellArtifactPath(pathname, route) {
|
|
|
51
51
|
function buildPregeneratedConcretePathTable(manifest) {
|
|
52
52
|
const routes = manifest?.routes;
|
|
53
53
|
if (!routes?.length) return [];
|
|
54
|
-
const
|
|
54
|
+
const byPattern = groupRoutesByPattern(getRenderedAppRoutes(routes).filter((r) => {
|
|
55
55
|
return !isFallbackShellArtifactPath(r.path ?? r.route, r);
|
|
56
|
-
});
|
|
57
|
-
|
|
56
|
+
}));
|
|
57
|
+
for (const route of routes) if (route.status === "skipped" && route.reason === "empty-static-params") {
|
|
58
|
+
if (!byPattern.has(route.route)) byPattern.set(route.route, []);
|
|
59
|
+
}
|
|
60
|
+
return Array.from(byPattern.entries());
|
|
58
61
|
}
|
|
59
62
|
/**
|
|
60
63
|
* Select concrete URL paths that were rendered by the prerender engine.
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
//#region src/server/prerender-route-params.d.ts
|
|
2
|
-
type PrerenderRouteParams = Record<string, string | string[]>;
|
|
3
|
-
type PrerenderRouteParamsPayload = {
|
|
2
|
+
export type PrerenderRouteParams = Record<string, string | string[]>;
|
|
3
|
+
export type PrerenderRouteParamsPayload = {
|
|
4
4
|
fallbackParamNames?: readonly string[];
|
|
5
5
|
params: PrerenderRouteParams;
|
|
6
6
|
routePattern: string;
|
|
7
7
|
};
|
|
8
|
+
/** Prerender-only request state authenticated at the public request boundary. */
|
|
9
|
+
export type TrustedPrerenderState = {
|
|
10
|
+
routeParams: PrerenderRouteParamsPayload | null;
|
|
11
|
+
speculative: boolean;
|
|
12
|
+
};
|
|
8
13
|
type PrerenderRouteParamsRouteMatch = {
|
|
9
14
|
kind: "exact";
|
|
10
15
|
params: PrerenderRouteParams;
|
|
@@ -13,10 +18,12 @@ type PrerenderRouteParamsRouteMatch = {
|
|
|
13
18
|
kind: "fallback-shell";
|
|
14
19
|
params: PrerenderRouteParams;
|
|
15
20
|
};
|
|
16
|
-
declare function
|
|
17
|
-
declare function
|
|
18
|
-
declare function
|
|
19
|
-
|
|
20
|
-
declare function
|
|
21
|
-
|
|
22
|
-
export
|
|
21
|
+
export declare function isTrustedPrerenderState(value: unknown): value is TrustedPrerenderState;
|
|
22
|
+
export declare function serializePrerenderRouteParamsHeader(payload: PrerenderRouteParamsPayload | null): string | null;
|
|
23
|
+
export declare function readTrustedPrerenderRouteParamsFromHeaders(headers: Headers, expectedSecret?: string): PrerenderRouteParamsPayload | null;
|
|
24
|
+
/** Authenticate prerender params and mode once before crossing a stage transport. */
|
|
25
|
+
export declare function readTrustedPrerenderStateFromHeaders(headers: Headers, expectedSecret: string): TrustedPrerenderState | null;
|
|
26
|
+
export declare function readTrustedPrerenderRouteParams(request: Request): PrerenderRouteParamsPayload | null;
|
|
27
|
+
export declare function matchPrerenderRouteParamsPayload(payload: PrerenderRouteParamsPayload | null, routePattern: string, params: PrerenderRouteParams): PrerenderRouteParamsRouteMatch | null;
|
|
28
|
+
export declare function encodePrerenderRouteParams(pattern: string, params: PrerenderRouteParams, fallbackParamNames?: readonly string[]): PrerenderRouteParamsPayload | null;
|
|
29
|
+
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER } from "../utils/protocol-headers.js";
|
|
2
|
-
import "./headers.js";
|
|
3
1
|
import { isUnknownRecord } from "../utils/record.js";
|
|
2
|
+
import { VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER } from "../utils/protocol-headers.js";
|
|
3
|
+
import "./headers.js";
|
|
4
4
|
//#region src/server/prerender-route-params.ts
|
|
5
5
|
function isPrerenderRouteParams(value) {
|
|
6
6
|
if (!isUnknownRecord(value)) return false;
|
|
@@ -19,6 +19,11 @@ function isPrerenderRouteParamsPayload(value) {
|
|
|
19
19
|
if ("fallbackParamNames" in value && (!Array.isArray(value.fallbackParamNames) || !value.fallbackParamNames.every((name) => typeof name === "string"))) return false;
|
|
20
20
|
return typeof value.routePattern === "string" && value.routePattern.startsWith("/") && isPrerenderRouteParams(value.params);
|
|
21
21
|
}
|
|
22
|
+
function isTrustedPrerenderState(value) {
|
|
23
|
+
if (!isUnknownRecord(value)) return false;
|
|
24
|
+
const keys = Object.keys(value);
|
|
25
|
+
return keys.length === 2 && keys.every((key) => key === "routeParams" || key === "speculative") && (value.routeParams === null || isPrerenderRouteParamsPayload(value.routeParams)) && typeof value.speculative === "boolean";
|
|
26
|
+
}
|
|
22
27
|
function serializePrerenderRouteParamsHeader(payload) {
|
|
23
28
|
if (payload === null || Object.keys(payload.params).length === 0) return null;
|
|
24
29
|
return encodeURIComponent(JSON.stringify(payload));
|
|
@@ -43,6 +48,16 @@ function readTrustedPrerenderRouteParamsFromHeaders(headers, expectedSecret) {
|
|
|
43
48
|
if (params === null) throw new Error("[vinext] Invalid internal prerender route params header.");
|
|
44
49
|
return params;
|
|
45
50
|
}
|
|
51
|
+
/** Authenticate prerender params and mode once before crossing a stage transport. */
|
|
52
|
+
function readTrustedPrerenderStateFromHeaders(headers, expectedSecret) {
|
|
53
|
+
if (process.env.VINEXT_PRERENDER !== "1") return null;
|
|
54
|
+
const secret = headers.get(VINEXT_PRERENDER_SECRET_HEADER);
|
|
55
|
+
if (!expectedSecret || secret === null || secret !== expectedSecret) return null;
|
|
56
|
+
return {
|
|
57
|
+
routeParams: readTrustedPrerenderRouteParamsFromHeaders(headers, expectedSecret),
|
|
58
|
+
speculative: headers.get(VINEXT_PRERENDER_SPECULATIVE_HEADER) === "1"
|
|
59
|
+
};
|
|
60
|
+
}
|
|
46
61
|
function readTrustedPrerenderRouteParams(request) {
|
|
47
62
|
return readTrustedPrerenderRouteParamsFromHeaders(request.headers);
|
|
48
63
|
}
|
|
@@ -108,4 +123,4 @@ function encodePrerenderRouteParams(pattern, params, fallbackParamNames) {
|
|
|
108
123
|
} : null;
|
|
109
124
|
}
|
|
110
125
|
//#endregion
|
|
111
|
-
export { encodePrerenderRouteParams, matchPrerenderRouteParamsPayload, readTrustedPrerenderRouteParams, readTrustedPrerenderRouteParamsFromHeaders, serializePrerenderRouteParamsHeader };
|
|
126
|
+
export { encodePrerenderRouteParams, isTrustedPrerenderState, matchPrerenderRouteParamsPayload, readTrustedPrerenderRouteParams, readTrustedPrerenderRouteParamsFromHeaders, readTrustedPrerenderStateFromHeaders, serializePrerenderRouteParamsHeader };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
//#region src/server/prerender-work-unit-setup.d.ts
|
|
2
|
-
declare function runWithPrerenderWorkUnit(fn: () => Promise<Response>, options?: {
|
|
2
|
+
export declare function runWithPrerenderWorkUnit(fn: () => Promise<Response>, options?: {
|
|
3
3
|
cacheComponents?: boolean;
|
|
4
4
|
route?: string | (() => string);
|
|
5
5
|
}): Promise<Response>;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { runWithPrerenderWorkUnit };
|
|
6
|
+
//#endregion
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { NO_STORE_CACHE_CONTROL } from "./cache-control.js";
|
|
2
|
-
import { isRouteCacheabilityProbe } from "../shims/cacheability-classification.js";
|
|
3
1
|
import { workUnitAsyncStorage } from "../shims/internal/work-unit-async-storage.js";
|
|
2
|
+
import { isRouteCacheabilityProbe } from "../shims/cacheability-classification.js";
|
|
3
|
+
import { NO_STORE_CACHE_CONTROL } from "./cache-control.js";
|
|
4
4
|
//#region src/server/prerender-work-unit-setup.ts
|
|
5
5
|
/**
|
|
6
|
-
* Sets up the work unit async storage for
|
|
6
|
+
* Sets up the work unit async storage for App Router rendering.
|
|
7
7
|
*
|
|
8
|
+
* During ordinary Cache Components requests, wraps execution in a RequestStore.
|
|
8
9
|
* During build prerendering and authenticated cacheability probes, wraps
|
|
9
10
|
* execution in a PrerenderStore so dynamic APIs can suspend and the render
|
|
10
11
|
* owner can interrupt the attempt without exposing catchable framework errors
|
|
@@ -12,14 +13,13 @@ import { workUnitAsyncStorage } from "../shims/internal/work-unit-async-storage.
|
|
|
12
13
|
*
|
|
13
14
|
* Used by: app-rsc-entry.ts handler template.
|
|
14
15
|
*
|
|
15
|
-
* TODO: If future dynamic APIs need request-scoped stores for normal (non-prerender)
|
|
16
|
-
* requests, add a `{ type: "request" }` store during normal request handling.
|
|
17
16
|
*/
|
|
18
17
|
function runWithPrerenderWorkUnit(fn, options) {
|
|
19
18
|
if (process.env.VINEXT_PRERENDER === "1" || isRouteCacheabilityProbe()) {
|
|
20
19
|
if (options?.cacheComponents !== true) return workUnitAsyncStorage.run({ type: "prerender-legacy" }, fn);
|
|
21
20
|
return runWithPrerenderWorkUnitOwner(fn, options);
|
|
22
21
|
}
|
|
22
|
+
if (options?.cacheComponents === true) return workUnitAsyncStorage.run({ type: "request" }, fn);
|
|
23
23
|
return fn();
|
|
24
24
|
}
|
|
25
25
|
async function runWithPrerenderWorkUnitOwner(fn, options) {
|
|
@@ -39,12 +39,12 @@ import { IncomingMessage, ServerResponse } from "node:http";
|
|
|
39
39
|
*
|
|
40
40
|
* Exported for direct unit testing of the URL choice.
|
|
41
41
|
*/
|
|
42
|
-
declare function resolveServerEntryImportUrl(entryPath: string): string;
|
|
43
|
-
declare function rememberCurrentServerEntryImportMtime(entryPath: string): void;
|
|
44
|
-
declare function importServerEntryModule(entryPath: string): Promise<any>;
|
|
42
|
+
export declare function resolveServerEntryImportUrl(entryPath: string): string;
|
|
43
|
+
export declare function rememberCurrentServerEntryImportMtime(entryPath: string): void;
|
|
44
|
+
export declare function importServerEntryModule(entryPath: string): Promise<any>;
|
|
45
45
|
/** Convert a Node.js IncomingMessage into a ReadableStream for Web Request body. */
|
|
46
|
-
declare function readNodeStream(req: IncomingMessage): ReadableStream<Uint8Array>;
|
|
47
|
-
type ProdServerOptions = {
|
|
46
|
+
export declare function readNodeStream(req: IncomingMessage): ReadableStream<Uint8Array>;
|
|
47
|
+
export type ProdServerOptions = {
|
|
48
48
|
/** Port to listen on */
|
|
49
49
|
port?: number;
|
|
50
50
|
/** Host to bind to */
|
|
@@ -53,6 +53,8 @@ type ProdServerOptions = {
|
|
|
53
53
|
outDir?: string;
|
|
54
54
|
/** Explicit App Router RSC entry path. Defaults to `<outDir>/server/index.js`. */
|
|
55
55
|
rscEntryPath?: string;
|
|
56
|
+
/** Directory containing server manifests, sidecars, and prerender artifacts. */
|
|
57
|
+
serverDir?: string;
|
|
56
58
|
/** Explicit Pages Router server entry path. Defaults to `<outDir>/server/entry.js`. */
|
|
57
59
|
serverEntryPath?: string;
|
|
58
60
|
/** Disable compression (default: false) */
|
|
@@ -116,18 +118,19 @@ declare function nodeToWebRequest(req: IncomingMessage, urlOverride?: string, pr
|
|
|
116
118
|
* Supports streaming compression for SSR responses.
|
|
117
119
|
*/
|
|
118
120
|
declare function sendWebResponse(webResponse: Response, req: IncomingMessage, res: ServerResponse, compress: boolean): Promise<void>;
|
|
121
|
+
declare function waitForNodeResponseCompletion(res: ServerResponse): Promise<void>;
|
|
119
122
|
/**
|
|
120
123
|
* Start the production server.
|
|
121
124
|
*
|
|
122
125
|
* Automatically detects whether the build is App Router (dist/server/index.js) or
|
|
123
126
|
* Pages Router (dist/server/entry.js) and configures the appropriate handler.
|
|
124
127
|
*/
|
|
125
|
-
declare function startProdServer(options?: ProdServerOptions): Promise<{
|
|
128
|
+
export declare function startProdServer(options?: ProdServerOptions): Promise<{
|
|
126
129
|
server: import("node:http").Server<typeof IncomingMessage, typeof ServerResponse>;
|
|
127
130
|
port: number;
|
|
128
131
|
}>;
|
|
129
132
|
type AppRouterPrerenderSeeder = (serverDir: string) => Promise<number>;
|
|
130
|
-
declare function resolveAppRouterPrerenderSeeder(entryModule: unknown): AppRouterPrerenderSeeder;
|
|
133
|
+
export declare function resolveAppRouterPrerenderSeeder(entryModule: unknown): AppRouterPrerenderSeeder;
|
|
131
134
|
/**
|
|
132
135
|
* Resolve a request pathname to a static-asset lookup path inside `clientDir`.
|
|
133
136
|
*
|
|
@@ -150,6 +153,6 @@ declare function resolveAppRouterPrerenderSeeder(entryModule: unknown): AppRoute
|
|
|
150
153
|
* to the CDN — but we accept them so a same-origin reverse proxy can
|
|
151
154
|
* route through; the on-disk path is just `_next/static/...`.
|
|
152
155
|
*/
|
|
153
|
-
declare function resolveAppRouterAssetPath(pathname: string, assetPathPrefix: string, assetPrefix: string): string | null;
|
|
156
|
+
export declare function resolveAppRouterAssetPath(pathname: string, assetPathPrefix: string, assetPrefix: string): string | null;
|
|
154
157
|
//#endregion
|
|
155
|
-
export { COMPRESSIBLE_TYPES, COMPRESS_THRESHOLD,
|
|
158
|
+
export { COMPRESSIBLE_TYPES, COMPRESS_THRESHOLD, mergeResponseHeaders, mergeWebResponse, negotiateEncoding, nodeToWebRequest, resolveRequestHost as resolveHost, sendCompressed, sendWebResponse, trustProxy, trustedHosts, tryServeStatic, waitForNodeResponseCompletion };
|