@qzsy/vinext 0.1.7
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/LICENSE +21 -0
- package/README.md +773 -0
- package/dist/build/assets-ignore.d.ts +32 -0
- package/dist/build/assets-ignore.js +48 -0
- package/dist/build/clean-output.d.ts +13 -0
- package/dist/build/clean-output.js +34 -0
- package/dist/build/client-build-config.d.ts +171 -0
- package/dist/build/client-build-config.js +270 -0
- package/dist/build/css-url-assets.d.ts +29 -0
- package/dist/build/css-url-assets.js +213 -0
- package/dist/build/google-fonts/build-url.d.ts +9 -0
- package/dist/build/google-fonts/build-url.js +28 -0
- package/dist/build/google-fonts/fallback-metrics-data.js +14029 -0
- package/dist/build/google-fonts/fallback-metrics.d.ts +12 -0
- package/dist/build/google-fonts/fallback-metrics.js +44 -0
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +16 -0
- package/dist/build/google-fonts/find-font-files-in-css.js +28 -0
- package/dist/build/google-fonts/font-data.js +24983 -0
- package/dist/build/google-fonts/font-metadata.d.ts +16 -0
- package/dist/build/google-fonts/font-metadata.js +5 -0
- package/dist/build/google-fonts/get-axes.d.ts +6 -0
- package/dist/build/google-fonts/get-axes.js +37 -0
- package/dist/build/google-fonts/sort-variants.d.ts +4 -0
- package/dist/build/google-fonts/sort-variants.js +12 -0
- package/dist/build/google-fonts/validate.d.ts +27 -0
- package/dist/build/google-fonts/validate.js +54 -0
- package/dist/build/inline-css.d.ts +6 -0
- package/dist/build/inline-css.js +48 -0
- package/dist/build/layout-classification-types.d.ts +61 -0
- package/dist/build/layout-classification-types.js +1 -0
- package/dist/build/layout-classification.d.ts +59 -0
- package/dist/build/layout-classification.js +98 -0
- package/dist/build/next-client-runtime-manifests.d.ts +14 -0
- package/dist/build/next-client-runtime-manifests.js +39 -0
- package/dist/build/nitro-route-rules.d.ts +49 -0
- package/dist/build/nitro-route-rules.js +79 -0
- package/dist/build/precompress.d.ts +27 -0
- package/dist/build/precompress.js +110 -0
- package/dist/build/prerender.d.ts +209 -0
- package/dist/build/prerender.js +932 -0
- package/dist/build/report.d.ts +132 -0
- package/dist/build/report.js +504 -0
- package/dist/build/route-classification-injector.d.ts +34 -0
- package/dist/build/route-classification-injector.js +59 -0
- package/dist/build/route-classification-manifest.d.ts +52 -0
- package/dist/build/route-classification-manifest.js +143 -0
- package/dist/build/run-prerender.d.ts +61 -0
- package/dist/build/run-prerender.js +224 -0
- package/dist/build/server-manifest.d.ts +18 -0
- package/dist/build/server-manifest.js +22 -0
- package/dist/build/ssr-manifest.d.ts +18 -0
- package/dist/build/ssr-manifest.js +69 -0
- package/dist/build/standalone.d.ts +31 -0
- package/dist/build/standalone.js +203 -0
- package/dist/build/static-export.d.ts +55 -0
- package/dist/build/static-export.js +60 -0
- package/dist/cache/cache-adapters-virtual.d.ts +50 -0
- package/dist/cache/cache-adapters-virtual.js +45 -0
- package/dist/cache.d.ts +2 -0
- package/dist/cache.js +2 -0
- package/dist/check.d.ts +87 -0
- package/dist/check.js +1037 -0
- package/dist/cli-args.d.ts +33 -0
- package/dist/cli-args.js +124 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +744 -0
- package/dist/client/app-nav-failure-handler.d.ts +8 -0
- package/dist/client/app-nav-failure-handler.js +44 -0
- package/dist/client/empty-module.d.ts +1 -0
- package/dist/client/empty-module.js +1 -0
- package/dist/client/instrumentation-client-inject.d.ts +33 -0
- package/dist/client/instrumentation-client-inject.js +55 -0
- package/dist/client/instrumentation-client-state.d.ts +9 -0
- package/dist/client/instrumentation-client-state.js +17 -0
- package/dist/client/instrumentation-client.d.ts +7 -0
- package/dist/client/instrumentation-client.js +6 -0
- package/dist/client/navigation-runtime.d.ts +70 -0
- package/dist/client/navigation-runtime.js +169 -0
- package/dist/client/pages-router-link-navigation.d.ts +61 -0
- package/dist/client/pages-router-link-navigation.js +42 -0
- package/dist/client/validate-module-path.d.ts +17 -0
- package/dist/client/validate-module-path.js +24 -0
- package/dist/client/vinext-next-data.d.ts +44 -0
- package/dist/client/vinext-next-data.js +50 -0
- package/dist/client/window-next.d.ts +168 -0
- package/dist/client/window-next.js +57 -0
- package/dist/cloudflare/index.d.ts +3 -0
- package/dist/cloudflare/index.js +3 -0
- package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +102 -0
- package/dist/cloudflare/src/cache/kv-data-adapter.runtime.d.ts +126 -0
- package/dist/cloudflare/src/cache/kv-data-adapter.runtime.js +435 -0
- package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
- package/dist/cloudflare/tpr.d.ts +82 -0
- package/dist/cloudflare/tpr.js +558 -0
- package/dist/config/config-matchers.d.ts +257 -0
- package/dist/config/config-matchers.js +1046 -0
- package/dist/config/dotenv.d.ts +56 -0
- package/dist/config/dotenv.js +88 -0
- package/dist/config/next-config.d.ts +540 -0
- package/dist/config/next-config.js +1050 -0
- package/dist/config/tsconfig-paths.d.ts +21 -0
- package/dist/config/tsconfig-paths.js +157 -0
- package/dist/deploy.d.ts +190 -0
- package/dist/deploy.js +1033 -0
- package/dist/entries/app-browser-entry.d.ts +29 -0
- package/dist/entries/app-browser-entry.js +83 -0
- package/dist/entries/app-rsc-entry.d.ts +81 -0
- package/dist/entries/app-rsc-entry.js +943 -0
- package/dist/entries/app-rsc-manifest.d.ts +53 -0
- package/dist/entries/app-rsc-manifest.js +294 -0
- package/dist/entries/app-ssr-entry.d.ts +15 -0
- package/dist/entries/app-ssr-entry.js +24 -0
- package/dist/entries/pages-client-entry.d.ts +11 -0
- package/dist/entries/pages-client-entry.js +204 -0
- package/dist/entries/pages-entry-helpers.d.ts +2 -0
- package/dist/entries/pages-entry-helpers.js +2 -0
- package/dist/entries/pages-server-entry.d.ts +11 -0
- package/dist/entries/pages-server-entry.js +398 -0
- package/dist/entries/runtime-entry-module.d.ts +25 -0
- package/dist/entries/runtime-entry-module.js +46 -0
- package/dist/index.d.ts +115 -0
- package/dist/index.js +2661 -0
- package/dist/init.d.ts +69 -0
- package/dist/init.js +253 -0
- package/dist/plugins/ast-utils.d.ts +20 -0
- package/dist/plugins/ast-utils.js +78 -0
- package/dist/plugins/async-hooks-stub.d.ts +18 -0
- package/dist/plugins/async-hooks-stub.js +40 -0
- package/dist/plugins/client-reference-dedup.d.ts +35 -0
- package/dist/plugins/client-reference-dedup.js +189 -0
- package/dist/plugins/css-data-url.d.ts +6 -0
- package/dist/plugins/css-data-url.js +83 -0
- package/dist/plugins/dynamic-preload-metadata.d.ts +13 -0
- package/dist/plugins/dynamic-preload-metadata.js +413 -0
- package/dist/plugins/extensionless-dynamic-import.d.ts +6 -0
- package/dist/plugins/extensionless-dynamic-import.js +155 -0
- package/dist/plugins/fonts.d.ts +95 -0
- package/dist/plugins/fonts.js +711 -0
- package/dist/plugins/import-meta-url.d.ts +16 -0
- package/dist/plugins/import-meta-url.js +353 -0
- package/dist/plugins/instrumentation-client.d.ts +6 -0
- package/dist/plugins/instrumentation-client.js +27 -0
- package/dist/plugins/middleware-export-validation.d.ts +5 -0
- package/dist/plugins/middleware-export-validation.js +36 -0
- package/dist/plugins/middleware-server-only.d.ts +53 -0
- package/dist/plugins/middleware-server-only.js +90 -0
- package/dist/plugins/og-asset-ownership.d.ts +27 -0
- package/dist/plugins/og-asset-ownership.js +285 -0
- package/dist/plugins/og-assets.d.ts +50 -0
- package/dist/plugins/og-assets.js +229 -0
- package/dist/plugins/optimize-imports.d.ts +42 -0
- package/dist/plugins/optimize-imports.js +587 -0
- package/dist/plugins/postcss.d.ts +26 -0
- package/dist/plugins/postcss.js +96 -0
- package/dist/plugins/remove-console.d.ts +21 -0
- package/dist/plugins/remove-console.js +177 -0
- package/dist/plugins/require-context.d.ts +6 -0
- package/dist/plugins/require-context.js +185 -0
- package/dist/plugins/rsc-client-reference-loaders.d.ts +6 -0
- package/dist/plugins/rsc-client-reference-loaders.js +46 -0
- package/dist/plugins/rsc-client-shim-excludes.d.ts +6 -0
- package/dist/plugins/rsc-client-shim-excludes.js +35 -0
- package/dist/plugins/sass.d.ts +62 -0
- package/dist/plugins/sass.js +268 -0
- package/dist/plugins/server-externals-manifest.d.ts +26 -0
- package/dist/plugins/server-externals-manifest.js +81 -0
- package/dist/plugins/strip-server-exports.d.ts +21 -0
- package/dist/plugins/strip-server-exports.js +519 -0
- package/dist/plugins/typeof-window.d.ts +14 -0
- package/dist/plugins/typeof-window.js +150 -0
- package/dist/plugins/wasm-module-import.d.ts +15 -0
- package/dist/plugins/wasm-module-import.js +50 -0
- package/dist/routing/app-route-graph.d.ts +336 -0
- package/dist/routing/app-route-graph.js +1518 -0
- package/dist/routing/app-router.d.ts +30 -0
- package/dist/routing/app-router.js +59 -0
- package/dist/routing/file-matcher.d.ts +60 -0
- package/dist/routing/file-matcher.js +147 -0
- package/dist/routing/pages-router.d.ts +48 -0
- package/dist/routing/pages-router.js +163 -0
- package/dist/routing/route-matching.d.ts +27 -0
- package/dist/routing/route-matching.js +42 -0
- package/dist/routing/route-pattern.d.ts +64 -0
- package/dist/routing/route-pattern.js +165 -0
- package/dist/routing/route-trie.d.ts +67 -0
- package/dist/routing/route-trie.js +143 -0
- package/dist/routing/route-validation.d.ts +10 -0
- package/dist/routing/route-validation.js +101 -0
- package/dist/routing/utils.d.ts +117 -0
- package/dist/routing/utils.js +242 -0
- package/dist/server/accept-encoding.d.ts +29 -0
- package/dist/server/accept-encoding.js +95 -0
- package/dist/server/api-handler.d.ts +17 -0
- package/dist/server/api-handler.js +276 -0
- package/dist/server/app-action-request.d.ts +4 -0
- package/dist/server/app-action-request.js +9 -0
- package/dist/server/app-bfcache-id.d.ts +5 -0
- package/dist/server/app-bfcache-id.js +5 -0
- package/dist/server/app-bfcache-identity.d.ts +36 -0
- package/dist/server/app-bfcache-identity.js +156 -0
- package/dist/server/app-browser-action-result.d.ts +64 -0
- package/dist/server/app-browser-action-result.js +111 -0
- package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
- package/dist/server/app-browser-client-reuse-manifest.js +101 -0
- package/dist/server/app-browser-entry.d.ts +1 -0
- package/dist/server/app-browser-entry.js +1087 -0
- package/dist/server/app-browser-error.d.ts +13 -0
- package/dist/server/app-browser-error.js +52 -0
- package/dist/server/app-browser-history-controller.d.ts +104 -0
- package/dist/server/app-browser-history-controller.js +210 -0
- package/dist/server/app-browser-hydration.d.ts +32 -0
- package/dist/server/app-browser-hydration.js +29 -0
- package/dist/server/app-browser-interception-context.d.ts +24 -0
- package/dist/server/app-browser-interception-context.js +43 -0
- package/dist/server/app-browser-mpa-navigation.d.ts +16 -0
- package/dist/server/app-browser-mpa-navigation.js +42 -0
- package/dist/server/app-browser-navigation-controller.d.ts +109 -0
- package/dist/server/app-browser-navigation-controller.js +465 -0
- package/dist/server/app-browser-popstate.d.ts +26 -0
- package/dist/server/app-browser-popstate.js +44 -0
- package/dist/server/app-browser-rsc-redirect.d.ts +38 -0
- package/dist/server/app-browser-rsc-redirect.js +64 -0
- package/dist/server/app-browser-server-action-client.d.ts +32 -0
- package/dist/server/app-browser-server-action-client.js +128 -0
- package/dist/server/app-browser-server-action-navigation.d.ts +6 -0
- package/dist/server/app-browser-server-action-navigation.js +9 -0
- package/dist/server/app-browser-state.d.ts +140 -0
- package/dist/server/app-browser-state.js +315 -0
- package/dist/server/app-browser-stream.d.ts +28 -0
- package/dist/server/app-browser-stream.js +122 -0
- package/dist/server/app-browser-visible-commit.d.ts +78 -0
- package/dist/server/app-browser-visible-commit.js +241 -0
- package/dist/server/app-client-reference-preloader.d.ts +14 -0
- package/dist/server/app-client-reference-preloader.js +44 -0
- package/dist/server/app-elements-wire.d.ts +192 -0
- package/dist/server/app-elements-wire.js +443 -0
- package/dist/server/app-elements.d.ts +9 -0
- package/dist/server/app-elements.js +18 -0
- package/dist/server/app-fallback-renderer.d.ts +89 -0
- package/dist/server/app-fallback-renderer.js +136 -0
- package/dist/server/app-history-state.d.ts +85 -0
- package/dist/server/app-history-state.js +223 -0
- package/dist/server/app-hook-warning-suppression.d.ts +6 -0
- package/dist/server/app-hook-warning-suppression.js +10 -0
- package/dist/server/app-inline-css-client.d.ts +6 -0
- package/dist/server/app-inline-css-client.js +35 -0
- package/dist/server/app-interception-context-header.d.ts +32 -0
- package/dist/server/app-interception-context-header.js +42 -0
- package/dist/server/app-layout-param-observation.d.ts +43 -0
- package/dist/server/app-layout-param-observation.js +168 -0
- package/dist/server/app-middleware.d.ts +46 -0
- package/dist/server/app-middleware.js +168 -0
- package/dist/server/app-mounted-slots-header.d.ts +35 -0
- package/dist/server/app-mounted-slots-header.js +58 -0
- package/dist/server/app-optimistic-routing.d.ts +53 -0
- package/dist/server/app-optimistic-routing.js +227 -0
- package/dist/server/app-page-boundary-render.d.ts +85 -0
- package/dist/server/app-page-boundary-render.js +305 -0
- package/dist/server/app-page-boundary.d.ts +102 -0
- package/dist/server/app-page-boundary.js +120 -0
- package/dist/server/app-page-cache-finalizer.d.ts +62 -0
- package/dist/server/app-page-cache-finalizer.js +122 -0
- package/dist/server/app-page-cache-render.d.ts +53 -0
- package/dist/server/app-page-cache-render.js +91 -0
- package/dist/server/app-page-cache.d.ts +83 -0
- package/dist/server/app-page-cache.js +272 -0
- package/dist/server/app-page-dispatch.d.ts +223 -0
- package/dist/server/app-page-dispatch.js +610 -0
- package/dist/server/app-page-element-builder.d.ts +96 -0
- package/dist/server/app-page-element-builder.js +205 -0
- package/dist/server/app-page-execution.d.ts +138 -0
- package/dist/server/app-page-execution.js +328 -0
- package/dist/server/app-page-head.d.ts +65 -0
- package/dist/server/app-page-head.js +228 -0
- package/dist/server/app-page-method.d.ts +15 -0
- package/dist/server/app-page-method.js +25 -0
- package/dist/server/app-page-params.d.ts +8 -0
- package/dist/server/app-page-params.js +39 -0
- package/dist/server/app-page-ppr-runtime.d.ts +7 -0
- package/dist/server/app-page-ppr-runtime.js +70 -0
- package/dist/server/app-page-probe.d.ts +134 -0
- package/dist/server/app-page-probe.js +276 -0
- package/dist/server/app-page-render-identity.d.ts +21 -0
- package/dist/server/app-page-render-identity.js +40 -0
- package/dist/server/app-page-render-observation.d.ts +36 -0
- package/dist/server/app-page-render-observation.js +82 -0
- package/dist/server/app-page-render.d.ts +111 -0
- package/dist/server/app-page-render.js +602 -0
- package/dist/server/app-page-request.d.ts +137 -0
- package/dist/server/app-page-request.js +216 -0
- package/dist/server/app-page-response.d.ts +68 -0
- package/dist/server/app-page-response.js +120 -0
- package/dist/server/app-page-route-wiring.d.ts +151 -0
- package/dist/server/app-page-route-wiring.js +452 -0
- package/dist/server/app-page-search-params-observation.d.ts +10 -0
- package/dist/server/app-page-search-params-observation.js +20 -0
- package/dist/server/app-page-segment-state.d.ts +9 -0
- package/dist/server/app-page-segment-state.js +80 -0
- package/dist/server/app-page-stream.d.ts +151 -0
- package/dist/server/app-page-stream.js +143 -0
- package/dist/server/app-pages-bridge.d.ts +63 -0
- package/dist/server/app-pages-bridge.js +63 -0
- package/dist/server/app-post-middleware-context.d.ts +15 -0
- package/dist/server/app-post-middleware-context.js +26 -0
- package/dist/server/app-ppr-fallback-shell-render.d.ts +18 -0
- package/dist/server/app-ppr-fallback-shell-render.js +26 -0
- package/dist/server/app-ppr-fallback-shell.d.ts +33 -0
- package/dist/server/app-ppr-fallback-shell.js +89 -0
- package/dist/server/app-prerender-endpoints.d.ts +18 -0
- package/dist/server/app-prerender-endpoints.js +94 -0
- package/dist/server/app-prerender-static-params.d.ts +30 -0
- package/dist/server/app-prerender-static-params.js +81 -0
- package/dist/server/app-render-dependency.d.ts +14 -0
- package/dist/server/app-render-dependency.js +41 -0
- package/dist/server/app-request-context.d.ts +20 -0
- package/dist/server/app-request-context.js +29 -0
- package/dist/server/app-route-handler-cache.d.ts +46 -0
- package/dist/server/app-route-handler-cache.js +78 -0
- package/dist/server/app-route-handler-dispatch.d.ts +49 -0
- package/dist/server/app-route-handler-dispatch.js +163 -0
- package/dist/server/app-route-handler-execution.d.ts +86 -0
- package/dist/server/app-route-handler-execution.js +128 -0
- package/dist/server/app-route-handler-policy.d.ts +55 -0
- package/dist/server/app-route-handler-policy.js +58 -0
- package/dist/server/app-route-handler-response.d.ts +28 -0
- package/dist/server/app-route-handler-response.js +145 -0
- package/dist/server/app-route-handler-runtime.d.ts +39 -0
- package/dist/server/app-route-handler-runtime.js +250 -0
- package/dist/server/app-route-module-loader.d.ts +91 -0
- package/dist/server/app-route-module-loader.js +83 -0
- package/dist/server/app-router-entry.d.ts +13 -0
- package/dist/server/app-router-entry.js +49 -0
- package/dist/server/app-rsc-cache-busting.d.ts +64 -0
- package/dist/server/app-rsc-cache-busting.js +206 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +8 -0
- package/dist/server/app-rsc-embedded-chunks.js +32 -0
- package/dist/server/app-rsc-error-handler.d.ts +20 -0
- package/dist/server/app-rsc-error-handler.js +28 -0
- package/dist/server/app-rsc-errors.d.ts +40 -0
- package/dist/server/app-rsc-errors.js +60 -0
- package/dist/server/app-rsc-handler.d.ts +201 -0
- package/dist/server/app-rsc-handler.js +538 -0
- package/dist/server/app-rsc-render-mode.d.ts +11 -0
- package/dist/server/app-rsc-render-mode.js +25 -0
- package/dist/server/app-rsc-request-normalization.d.ts +48 -0
- package/dist/server/app-rsc-request-normalization.js +75 -0
- package/dist/server/app-rsc-response-finalizer.d.ts +37 -0
- package/dist/server/app-rsc-response-finalizer.js +54 -0
- package/dist/server/app-rsc-route-matching.d.ts +93 -0
- package/dist/server/app-rsc-route-matching.js +134 -0
- package/dist/server/app-segment-config.d.ts +46 -0
- package/dist/server/app-segment-config.js +113 -0
- package/dist/server/app-server-action-execution.d.ts +219 -0
- package/dist/server/app-server-action-execution.js +767 -0
- package/dist/server/app-ssr-entry.d.ts +52 -0
- package/dist/server/app-ssr-entry.js +295 -0
- package/dist/server/app-ssr-error-meta.d.ts +13 -0
- package/dist/server/app-ssr-error-meta.js +48 -0
- package/dist/server/app-ssr-router-instance.d.ts +6 -0
- package/dist/server/app-ssr-router-instance.js +24 -0
- package/dist/server/app-ssr-stream.d.ts +60 -0
- package/dist/server/app-ssr-stream.js +408 -0
- package/dist/server/app-static-generation.d.ts +15 -0
- package/dist/server/app-static-generation.js +19 -0
- package/dist/server/app-visited-response-cache.d.ts +23 -0
- package/dist/server/app-visited-response-cache.js +19 -0
- package/dist/server/artifact-compatibility.d.ts +54 -0
- package/dist/server/artifact-compatibility.js +91 -0
- package/dist/server/before-interactive-head.d.ts +17 -0
- package/dist/server/before-interactive-head.js +35 -0
- package/dist/server/cache-control.d.ts +37 -0
- package/dist/server/cache-control.js +56 -0
- package/dist/server/cache-headers.d.ts +6 -0
- package/dist/server/cache-headers.js +17 -0
- package/dist/server/cache-proof.d.ts +364 -0
- package/dist/server/cache-proof.js +794 -0
- package/dist/server/client-reuse-manifest.d.ts +104 -0
- package/dist/server/client-reuse-manifest.js +209 -0
- package/dist/server/client-trace-metadata.d.ts +30 -0
- package/dist/server/client-trace-metadata.js +81 -0
- package/dist/server/cookie-utils.d.ts +12 -0
- package/dist/server/cookie-utils.js +18 -0
- package/dist/server/csp.d.ts +10 -0
- package/dist/server/csp.js +41 -0
- package/dist/server/default-global-error-module.d.ts +19 -0
- package/dist/server/default-global-error-module.js +18 -0
- package/dist/server/default-not-found-module.d.ts +19 -0
- package/dist/server/default-not-found-module.js +18 -0
- package/dist/server/defer-until-stream-consumed.d.ts +7 -0
- package/dist/server/defer-until-stream-consumed.js +34 -0
- package/dist/server/dev-error-overlay-store.d.ts +39 -0
- package/dist/server/dev-error-overlay-store.js +86 -0
- package/dist/server/dev-error-overlay.d.ts +51 -0
- package/dist/server/dev-error-overlay.js +1341 -0
- package/dist/server/dev-initial-server-error.d.ts +9 -0
- package/dist/server/dev-initial-server-error.js +26 -0
- package/dist/server/dev-lockfile.d.ts +109 -0
- package/dist/server/dev-lockfile.js +179 -0
- package/dist/server/dev-module-runner.d.ts +30 -0
- package/dist/server/dev-module-runner.js +91 -0
- package/dist/server/dev-origin-check.d.ts +62 -0
- package/dist/server/dev-origin-check.js +156 -0
- package/dist/server/dev-route-files.d.ts +6 -0
- package/dist/server/dev-route-files.js +71 -0
- package/dist/server/dev-server.d.ts +58 -0
- package/dist/server/dev-server.js +1114 -0
- package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
- package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
- package/dist/server/dev-stack-sourcemap.d.ts +43 -0
- package/dist/server/dev-stack-sourcemap.js +443 -0
- package/dist/server/document-initial-head.d.ts +6 -0
- package/dist/server/document-initial-head.js +33 -0
- package/dist/server/edge-api-runtime.d.ts +4 -0
- package/dist/server/edge-api-runtime.js +6 -0
- package/dist/server/file-based-metadata.d.ts +29 -0
- package/dist/server/file-based-metadata.js +401 -0
- package/dist/server/headers.d.ts +114 -0
- package/dist/server/headers.js +136 -0
- package/dist/server/html.d.ts +28 -0
- package/dist/server/html.js +41 -0
- package/dist/server/http-error-responses.d.ts +91 -0
- package/dist/server/http-error-responses.js +105 -0
- package/dist/server/hybrid-route-priority.d.ts +22 -0
- package/dist/server/hybrid-route-priority.js +33 -0
- package/dist/server/image-optimization.d.ts +130 -0
- package/dist/server/image-optimization.js +247 -0
- package/dist/server/implicit-tags.d.ts +6 -0
- package/dist/server/implicit-tags.js +44 -0
- package/dist/server/instrumentation-runtime.d.ts +49 -0
- package/dist/server/instrumentation-runtime.js +35 -0
- package/dist/server/instrumentation.d.ts +85 -0
- package/dist/server/instrumentation.js +130 -0
- package/dist/server/isr-cache.d.ts +127 -0
- package/dist/server/isr-cache.js +282 -0
- package/dist/server/isr-decision.d.ts +79 -0
- package/dist/server/isr-decision.js +70 -0
- package/dist/server/metadata-route-build-data.d.ts +24 -0
- package/dist/server/metadata-route-build-data.js +148 -0
- package/dist/server/metadata-route-response.d.ts +16 -0
- package/dist/server/metadata-route-response.js +205 -0
- package/dist/server/metadata-routes.d.ts +139 -0
- package/dist/server/metadata-routes.js +433 -0
- package/dist/server/middleware-matcher.d.ts +14 -0
- package/dist/server/middleware-matcher.js +111 -0
- package/dist/server/middleware-request-headers.d.ts +11 -0
- package/dist/server/middleware-request-headers.js +65 -0
- package/dist/server/middleware-response-headers.d.ts +12 -0
- package/dist/server/middleware-response-headers.js +42 -0
- package/dist/server/middleware-runtime.d.ts +67 -0
- package/dist/server/middleware-runtime.js +240 -0
- package/dist/server/middleware.d.ts +62 -0
- package/dist/server/middleware.js +114 -0
- package/dist/server/navigation-planner.d.ts +308 -0
- package/dist/server/navigation-planner.js +831 -0
- package/dist/server/navigation-trace.d.ts +68 -0
- package/dist/server/navigation-trace.js +71 -0
- package/dist/server/next-error-digest.d.ts +44 -0
- package/dist/server/next-error-digest.js +40 -0
- package/dist/server/normalize-path.d.ts +38 -0
- package/dist/server/normalize-path.js +70 -0
- package/dist/server/open-redirect.d.ts +12 -0
- package/dist/server/open-redirect.js +21 -0
- package/dist/server/operation-token.d.ts +40 -0
- package/dist/server/operation-token.js +85 -0
- package/dist/server/otel-tracer-extension.d.ts +45 -0
- package/dist/server/otel-tracer-extension.js +89 -0
- package/dist/server/pages-api-route.d.ts +83 -0
- package/dist/server/pages-api-route.js +75 -0
- package/dist/server/pages-asset-tags.d.ts +78 -0
- package/dist/server/pages-asset-tags.js +126 -0
- package/dist/server/pages-body-parser-config.d.ts +59 -0
- package/dist/server/pages-body-parser-config.js +77 -0
- package/dist/server/pages-data-route.d.ts +121 -0
- package/dist/server/pages-data-route.js +157 -0
- package/dist/server/pages-default-404.d.ts +30 -0
- package/dist/server/pages-default-404.js +38 -0
- package/dist/server/pages-dev-module-url.d.ts +4 -0
- package/dist/server/pages-dev-module-url.js +15 -0
- package/dist/server/pages-document-initial-props.d.ts +77 -0
- package/dist/server/pages-document-initial-props.js +109 -0
- package/dist/server/pages-get-initial-props.d.ts +67 -0
- package/dist/server/pages-get-initial-props.js +92 -0
- package/dist/server/pages-i18n.d.ts +106 -0
- package/dist/server/pages-i18n.js +183 -0
- package/dist/server/pages-media-type.d.ts +15 -0
- package/dist/server/pages-media-type.js +24 -0
- package/dist/server/pages-node-compat.d.ts +55 -0
- package/dist/server/pages-node-compat.js +235 -0
- package/dist/server/pages-page-data.d.ts +223 -0
- package/dist/server/pages-page-data.js +484 -0
- package/dist/server/pages-page-handler.d.ts +100 -0
- package/dist/server/pages-page-handler.js +403 -0
- package/dist/server/pages-page-method.d.ts +47 -0
- package/dist/server/pages-page-method.js +17 -0
- package/dist/server/pages-page-response.d.ts +138 -0
- package/dist/server/pages-page-response.js +285 -0
- package/dist/server/pages-readiness.d.ts +36 -0
- package/dist/server/pages-readiness.js +21 -0
- package/dist/server/pages-request-pipeline.d.ts +116 -0
- package/dist/server/pages-request-pipeline.js +311 -0
- package/dist/server/pages-revalidate.d.ts +15 -0
- package/dist/server/pages-revalidate.js +19 -0
- package/dist/server/pages-serializable-props.d.ts +24 -0
- package/dist/server/pages-serializable-props.js +67 -0
- package/dist/server/pregenerated-concrete-paths.d.ts +16 -0
- package/dist/server/pregenerated-concrete-paths.js +61 -0
- package/dist/server/prerender-manifest.d.ts +33 -0
- package/dist/server/prerender-manifest.js +54 -0
- package/dist/server/prerender-route-params.d.ts +23 -0
- package/dist/server/prerender-route-params.js +113 -0
- package/dist/server/prerender-work-unit-setup.d.ts +6 -0
- package/dist/server/prerender-work-unit-setup.js +28 -0
- package/dist/server/prod-server.d.ts +148 -0
- package/dist/server/prod-server.js +1136 -0
- package/dist/server/proxy-trust.d.ts +40 -0
- package/dist/server/proxy-trust.js +68 -0
- package/dist/server/request-log.d.ts +39 -0
- package/dist/server/request-log.js +56 -0
- package/dist/server/request-pipeline.d.ts +187 -0
- package/dist/server/request-pipeline.js +447 -0
- package/dist/server/rsc-stream-hints.d.ts +10 -0
- package/dist/server/rsc-stream-hints.js +41 -0
- package/dist/server/seed-cache.d.ts +29 -0
- package/dist/server/seed-cache.js +125 -0
- package/dist/server/server-action-not-found.d.ts +21 -0
- package/dist/server/server-action-not-found.js +62 -0
- package/dist/server/server-globals.d.ts +4 -0
- package/dist/server/server-globals.js +35 -0
- package/dist/server/skip-cache-proof.d.ts +61 -0
- package/dist/server/skip-cache-proof.js +168 -0
- package/dist/server/socket-error-backstop.d.ts +34 -0
- package/dist/server/socket-error-backstop.js +200 -0
- package/dist/server/static-file-cache.d.ts +56 -0
- package/dist/server/static-file-cache.js +231 -0
- package/dist/server/static-layout-client-reuse-proof.d.ts +15 -0
- package/dist/server/static-layout-client-reuse-proof.js +33 -0
- package/dist/server/streaming-metadata.d.ts +4 -0
- package/dist/server/streaming-metadata.js +8 -0
- package/dist/server/worker-utils.d.ts +7 -0
- package/dist/server/worker-utils.js +99 -0
- package/dist/shims/amp.d.ts +19 -0
- package/dist/shims/amp.js +23 -0
- package/dist/shims/app-router-scroll-state.d.ts +15 -0
- package/dist/shims/app-router-scroll-state.js +61 -0
- package/dist/shims/app-router-scroll.d.ts +29 -0
- package/dist/shims/app-router-scroll.js +141 -0
- package/dist/shims/app.d.ts +42 -0
- package/dist/shims/app.js +48 -0
- package/dist/shims/before-interactive-context.d.ts +40 -0
- package/dist/shims/before-interactive-context.js +8 -0
- package/dist/shims/cache-for-request.d.ts +57 -0
- package/dist/shims/cache-for-request.js +72 -0
- package/dist/shims/cache-handler.d.ts +106 -0
- package/dist/shims/cache-handler.js +176 -0
- package/dist/shims/cache-request-state.d.ts +47 -0
- package/dist/shims/cache-request-state.js +126 -0
- package/dist/shims/cache-runtime.d.ts +83 -0
- package/dist/shims/cache-runtime.js +452 -0
- package/dist/shims/cache.d.ts +145 -0
- package/dist/shims/cache.js +401 -0
- package/dist/shims/cdn-cache.d.ts +125 -0
- package/dist/shims/cdn-cache.js +100 -0
- package/dist/shims/client-hook-error.d.ts +13 -0
- package/dist/shims/client-hook-error.js +17 -0
- package/dist/shims/client-locale.d.ts +14 -0
- package/dist/shims/client-locale.js +11 -0
- package/dist/shims/client-only.d.ts +1 -0
- package/dist/shims/client-only.js +1 -0
- package/dist/shims/compat-router.d.ts +16 -0
- package/dist/shims/compat-router.js +25 -0
- package/dist/shims/config.d.ts +28 -0
- package/dist/shims/config.js +21 -0
- package/dist/shims/constants.d.ts +130 -0
- package/dist/shims/constants.js +167 -0
- package/dist/shims/default-global-error.d.ts +31 -0
- package/dist/shims/default-global-error.js +179 -0
- package/dist/shims/default-not-found.d.ts +11 -0
- package/dist/shims/default-not-found.js +59 -0
- package/dist/shims/document.d.ts +92 -0
- package/dist/shims/document.js +76 -0
- package/dist/shims/dynamic-preload-chunks.d.ts +8 -0
- package/dist/shims/dynamic-preload-chunks.js +79 -0
- package/dist/shims/dynamic.d.ts +35 -0
- package/dist/shims/dynamic.js +204 -0
- package/dist/shims/error-boundary-navigation.d.ts +7 -0
- package/dist/shims/error-boundary-navigation.js +44 -0
- package/dist/shims/error-boundary.d.ts +155 -0
- package/dist/shims/error-boundary.js +342 -0
- package/dist/shims/error.d.ts +31 -0
- package/dist/shims/error.js +123 -0
- package/dist/shims/error.react-server.d.ts +9 -0
- package/dist/shims/error.react-server.js +6 -0
- package/dist/shims/fetch-cache.d.ts +136 -0
- package/dist/shims/fetch-cache.js +766 -0
- package/dist/shims/font-google-base.d.ts +83 -0
- package/dist/shims/font-google-base.js +290 -0
- package/dist/shims/font-google.d.ts +2 -0
- package/dist/shims/font-google.js +2 -0
- package/dist/shims/font-local.d.ts +50 -0
- package/dist/shims/font-local.js +195 -0
- package/dist/shims/font-utils.d.ts +56 -0
- package/dist/shims/font-utils.js +107 -0
- package/dist/shims/form.d.ts +19 -0
- package/dist/shims/form.js +236 -0
- package/dist/shims/hash-scroll.d.ts +10 -0
- package/dist/shims/hash-scroll.js +47 -0
- package/dist/shims/head-state.d.ts +16 -0
- package/dist/shims/head-state.js +43 -0
- package/dist/shims/head.d.ts +73 -0
- package/dist/shims/head.js +340 -0
- package/dist/shims/headers.d.ts +253 -0
- package/dist/shims/headers.js +754 -0
- package/dist/shims/i18n-context.d.ts +22 -0
- package/dist/shims/i18n-context.js +42 -0
- package/dist/shims/i18n-state.d.ts +14 -0
- package/dist/shims/i18n-state.js +38 -0
- package/dist/shims/image-config.d.ts +45 -0
- package/dist/shims/image-config.js +85 -0
- package/dist/shims/image.d.ts +55 -0
- package/dist/shims/image.js +582 -0
- package/dist/shims/internal/als-registry.d.ts +14 -0
- package/dist/shims/internal/als-registry.js +80 -0
- package/dist/shims/internal/api-utils.d.ts +14 -0
- package/dist/shims/internal/api-utils.js +1 -0
- package/dist/shims/internal/app-page-props-cache-key.d.ts +5 -0
- package/dist/shims/internal/app-page-props-cache-key.js +16 -0
- package/dist/shims/internal/app-route-detection.d.ts +39 -0
- package/dist/shims/internal/app-route-detection.js +62 -0
- package/dist/shims/internal/app-router-context.d.ts +31 -0
- package/dist/shims/internal/app-router-context.js +28 -0
- package/dist/shims/internal/cookie-serialize.d.ts +45 -0
- package/dist/shims/internal/cookie-serialize.js +49 -0
- package/dist/shims/internal/cookies.d.ts +2 -0
- package/dist/shims/internal/cookies.js +2 -0
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +31 -0
- package/dist/shims/internal/hybrid-client-route-owner.js +143 -0
- package/dist/shims/internal/interpolate-as.d.ts +25 -0
- package/dist/shims/internal/interpolate-as.js +196 -0
- package/dist/shims/internal/link-status-registry.d.ts +43 -0
- package/dist/shims/internal/link-status-registry.js +42 -0
- package/dist/shims/internal/make-hanging-promise.d.ts +15 -0
- package/dist/shims/internal/make-hanging-promise.js +44 -0
- package/dist/shims/internal/navigation-untracked.d.ts +35 -0
- package/dist/shims/internal/navigation-untracked.js +56 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +54 -0
- package/dist/shims/internal/pages-data-fetch-dedup.js +121 -0
- package/dist/shims/internal/pages-data-target.d.ts +62 -0
- package/dist/shims/internal/pages-data-target.js +98 -0
- package/dist/shims/internal/pages-data-url.d.ts +41 -0
- package/dist/shims/internal/pages-data-url.js +71 -0
- package/dist/shims/internal/pages-router-accessor.d.ts +19 -0
- package/dist/shims/internal/pages-router-accessor.js +13 -0
- package/dist/shims/internal/route-pattern-for-warning.d.ts +27 -0
- package/dist/shims/internal/route-pattern-for-warning.js +40 -0
- package/dist/shims/internal/router-context.d.ts +7 -0
- package/dist/shims/internal/router-context.js +13 -0
- package/dist/shims/internal/utils.d.ts +52 -0
- package/dist/shims/internal/utils.js +27 -0
- package/dist/shims/internal/work-unit-async-storage.d.ts +30 -0
- package/dist/shims/internal/work-unit-async-storage.js +17 -0
- package/dist/shims/layout-segment-context.d.ts +24 -0
- package/dist/shims/layout-segment-context.js +39 -0
- package/dist/shims/legacy-image.d.ts +41 -0
- package/dist/shims/legacy-image.js +49 -0
- package/dist/shims/link-prefetch.d.ts +41 -0
- package/dist/shims/link-prefetch.js +43 -0
- package/dist/shims/link.d.ts +102 -0
- package/dist/shims/link.js +687 -0
- package/dist/shims/metadata.d.ts +285 -0
- package/dist/shims/metadata.js +820 -0
- package/dist/shims/navigation-context-state.d.ts +40 -0
- package/dist/shims/navigation-context-state.js +116 -0
- package/dist/shims/navigation-errors.d.ts +55 -0
- package/dist/shims/navigation-errors.js +110 -0
- package/dist/shims/navigation-server.d.ts +3 -0
- package/dist/shims/navigation-server.js +3 -0
- package/dist/shims/navigation-state.d.ts +25 -0
- package/dist/shims/navigation-state.js +66 -0
- package/dist/shims/navigation.d.ts +286 -0
- package/dist/shims/navigation.js +1206 -0
- package/dist/shims/navigation.react-server.d.ts +14 -0
- package/dist/shims/navigation.react-server.js +32 -0
- package/dist/shims/offline.d.ts +4 -0
- package/dist/shims/offline.js +15 -0
- package/dist/shims/og.d.ts +17 -0
- package/dist/shims/og.js +48 -0
- package/dist/shims/pages-router-runtime.d.ts +12 -0
- package/dist/shims/pages-router-runtime.js +24 -0
- package/dist/shims/ppr-fallback-shell.d.ts +33 -0
- package/dist/shims/ppr-fallback-shell.js +170 -0
- package/dist/shims/readonly-url-search-params.d.ts +13 -0
- package/dist/shims/readonly-url-search-params.js +26 -0
- package/dist/shims/request-context.d.ts +58 -0
- package/dist/shims/request-context.js +45 -0
- package/dist/shims/request-state-types.d.ts +12 -0
- package/dist/shims/request-state-types.js +1 -0
- package/dist/shims/root-params.d.ts +12 -0
- package/dist/shims/root-params.js +30 -0
- package/dist/shims/router-state.d.ts +32 -0
- package/dist/shims/router-state.js +39 -0
- package/dist/shims/router.d.ts +192 -0
- package/dist/shims/router.js +1786 -0
- package/dist/shims/script-nonce-context.d.ts +11 -0
- package/dist/shims/script-nonce-context.js +23 -0
- package/dist/shims/script.d.ts +43 -0
- package/dist/shims/script.js +370 -0
- package/dist/shims/server-only.d.ts +1 -0
- package/dist/shims/server-only.js +1 -0
- package/dist/shims/server.d.ts +323 -0
- package/dist/shims/server.js +729 -0
- package/dist/shims/slot.d.ts +45 -0
- package/dist/shims/slot.js +230 -0
- package/dist/shims/thenable-params.d.ts +11 -0
- package/dist/shims/thenable-params.js +176 -0
- package/dist/shims/unified-request-context.d.ts +68 -0
- package/dist/shims/unified-request-context.js +86 -0
- package/dist/shims/unrecognized-action-error.d.ts +34 -0
- package/dist/shims/unrecognized-action-error.js +39 -0
- package/dist/shims/url-safety.d.ts +34 -0
- package/dist/shims/url-safety.js +70 -0
- package/dist/shims/url-utils.d.ts +51 -0
- package/dist/shims/url-utils.js +156 -0
- package/dist/shims/use-merged-ref.d.ts +6 -0
- package/dist/shims/use-merged-ref.js +38 -0
- package/dist/shims/web-vitals.d.ts +8 -0
- package/dist/shims/web-vitals.js +22 -0
- package/dist/typegen.d.ts +9 -0
- package/dist/typegen.js +228 -0
- package/dist/utils/asset-prefix.d.ts +96 -0
- package/dist/utils/asset-prefix.js +122 -0
- package/dist/utils/base-path.d.ts +31 -0
- package/dist/utils/base-path.js +45 -0
- package/dist/utils/built-asset-url.d.ts +4 -0
- package/dist/utils/built-asset-url.js +11 -0
- package/dist/utils/cache-control-metadata.d.ts +4 -0
- package/dist/utils/cache-control-metadata.js +12 -0
- package/dist/utils/client-build-manifest.d.ts +21 -0
- package/dist/utils/client-build-manifest.js +87 -0
- package/dist/utils/client-entry-manifest.d.ts +11 -0
- package/dist/utils/client-entry-manifest.js +29 -0
- package/dist/utils/client-runtime-metadata.d.ts +45 -0
- package/dist/utils/client-runtime-metadata.js +63 -0
- package/dist/utils/commonjs-loader.d.ts +16 -0
- package/dist/utils/commonjs-loader.js +100 -0
- package/dist/utils/compare.d.ts +4 -0
- package/dist/utils/compare.js +8 -0
- package/dist/utils/deployment-id.d.ts +8 -0
- package/dist/utils/deployment-id.js +22 -0
- package/dist/utils/dev-error-recovery-event.d.ts +4 -0
- package/dist/utils/dev-error-recovery-event.js +4 -0
- package/dist/utils/domain-locale.d.ts +26 -0
- package/dist/utils/domain-locale.js +50 -0
- package/dist/utils/encode-cache-tag.d.ts +30 -0
- package/dist/utils/encode-cache-tag.js +36 -0
- package/dist/utils/error-cause.d.ts +4 -0
- package/dist/utils/error-cause.js +95 -0
- package/dist/utils/has-trailing-comma.d.ts +24 -0
- package/dist/utils/has-trailing-comma.js +62 -0
- package/dist/utils/hash.d.ts +24 -0
- package/dist/utils/hash.js +55 -0
- package/dist/utils/html-limited-bots.d.ts +21 -0
- package/dist/utils/html-limited-bots.js +35 -0
- package/dist/utils/lazy-chunks.d.ts +59 -0
- package/dist/utils/lazy-chunks.js +112 -0
- package/dist/utils/manifest-paths.d.ts +30 -0
- package/dist/utils/manifest-paths.js +66 -0
- package/dist/utils/mdx-scan.d.ts +9 -0
- package/dist/utils/mdx-scan.js +34 -0
- package/dist/utils/navigation-signal.d.ts +4 -0
- package/dist/utils/navigation-signal.js +12 -0
- package/dist/utils/number.d.ts +4 -0
- package/dist/utils/number.js +6 -0
- package/dist/utils/parse-cookie.d.ts +13 -0
- package/dist/utils/parse-cookie.js +52 -0
- package/dist/utils/path.d.ts +22 -0
- package/dist/utils/path.js +30 -0
- package/dist/utils/prerender-output-paths.d.ts +14 -0
- package/dist/utils/prerender-output-paths.js +22 -0
- package/dist/utils/project.d.ts +76 -0
- package/dist/utils/project.js +213 -0
- package/dist/utils/promise.d.ts +4 -0
- package/dist/utils/promise.js +6 -0
- package/dist/utils/public-routes.d.ts +4 -0
- package/dist/utils/public-routes.js +48 -0
- package/dist/utils/query.d.ts +49 -0
- package/dist/utils/query.js +122 -0
- package/dist/utils/record.d.ts +4 -0
- package/dist/utils/record.js +6 -0
- package/dist/utils/regex.d.ts +4 -0
- package/dist/utils/regex.js +6 -0
- package/dist/utils/safe-json-file.d.ts +17 -0
- package/dist/utils/safe-json-file.js +23 -0
- package/dist/utils/sorted-array.d.ts +8 -0
- package/dist/utils/sorted-array.js +20 -0
- package/dist/utils/text-stream.d.ts +28 -0
- package/dist/utils/text-stream.js +64 -0
- package/dist/utils/vinext-root.d.ts +23 -0
- package/dist/utils/vinext-root.js +29 -0
- package/dist/utils/virtual-module.d.ts +5 -0
- package/dist/utils/virtual-module.js +0 -0
- package/dist/utils/vite-version.d.ts +21 -0
- package/dist/utils/vite-version.js +42 -0
- package/package.json +145 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { NextI18nConfig } from "../config/next-config.js";
|
|
2
|
+
import { NextRequest } from "../shims/server.js";
|
|
3
|
+
|
|
4
|
+
//#region src/server/app-route-handler-runtime.d.ts
|
|
5
|
+
declare const ROUTE_HANDLER_HTTP_METHODS: readonly ["GET", "HEAD", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"];
|
|
6
|
+
type RouteHandlerHttpMethod = (typeof ROUTE_HANDLER_HTTP_METHODS)[number];
|
|
7
|
+
type RouteHandlerModule = Partial<Record<RouteHandlerHttpMethod | "default", unknown>>;
|
|
8
|
+
/**
|
|
9
|
+
* Checks whether a string is a recognized HTTP method for App Router route
|
|
10
|
+
* handlers. Invalid methods must be rejected with 400 before any auto-OPTIONS
|
|
11
|
+
* or 405 logic runs.
|
|
12
|
+
*
|
|
13
|
+
* @see https://github.com/vercel/next.js/blob/canary/packages/next/src/server/web/http.ts
|
|
14
|
+
*/
|
|
15
|
+
declare function isValidHTTPMethod(maybeMethod: string): maybeMethod is RouteHandlerHttpMethod;
|
|
16
|
+
declare function collectRouteHandlerMethods(handler: RouteHandlerModule): RouteHandlerHttpMethod[];
|
|
17
|
+
declare function buildRouteHandlerAllowHeader(exportedMethods: readonly string[]): string;
|
|
18
|
+
declare function isKnownDynamicAppRoute(pattern: string): boolean;
|
|
19
|
+
declare function markKnownDynamicAppRoute(pattern: string): void;
|
|
20
|
+
type RequestDynamicAccess = "request.headers" | "request.cookies" | "request.ip" | "request.geo" | "request.url" | "request.body" | "request.blob" | "request.json" | "request.text" | "request.arrayBuffer" | "request.formData";
|
|
21
|
+
type NextUrlDynamicAccess = "nextUrl.search" | "nextUrl.searchParams" | "nextUrl.url" | "nextUrl.href" | "nextUrl.toJSON" | "nextUrl.toString" | "nextUrl.origin";
|
|
22
|
+
type AppRouteDynamicRequestAccess = RequestDynamicAccess | NextUrlDynamicAccess;
|
|
23
|
+
type AppRouteRequestMode = "auto" | "force-static" | "error";
|
|
24
|
+
type TrackedAppRouteRequestOptions = {
|
|
25
|
+
basePath?: string;
|
|
26
|
+
i18n?: NextI18nConfig | null;
|
|
27
|
+
trailingSlash?: boolean;
|
|
28
|
+
middlewareHeaders?: Headers | null;
|
|
29
|
+
onDynamicAccess?: (access: AppRouteDynamicRequestAccess) => void;
|
|
30
|
+
requestMode?: AppRouteRequestMode;
|
|
31
|
+
staticGenerationErrorMessage?: (expression?: string) => string;
|
|
32
|
+
};
|
|
33
|
+
type TrackedAppRouteRequest = {
|
|
34
|
+
request: NextRequest;
|
|
35
|
+
didAccessDynamicRequest(): boolean;
|
|
36
|
+
};
|
|
37
|
+
declare function createTrackedAppRouteRequest(request: Request, options?: TrackedAppRouteRequestOptions): TrackedAppRouteRequest;
|
|
38
|
+
//#endregion
|
|
39
|
+
export { RouteHandlerHttpMethod, RouteHandlerModule, buildRouteHandlerAllowHeader, collectRouteHandlerMethods, createTrackedAppRouteRequest, isKnownDynamicAppRoute, isValidHTTPMethod, markKnownDynamicAppRoute };
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { addBasePathToPathname } from "../utils/base-path.js";
|
|
2
|
+
import { buildRequestHeadersFromMiddlewareResponse } from "./middleware-request-headers.js";
|
|
3
|
+
import { NextRequest, RequestCookies, sealRequestCookies, sealRequestHeaders } from "../shims/server.js";
|
|
4
|
+
//#region src/server/app-route-handler-runtime.ts
|
|
5
|
+
const ROUTE_HANDLER_HTTP_METHODS = [
|
|
6
|
+
"GET",
|
|
7
|
+
"HEAD",
|
|
8
|
+
"POST",
|
|
9
|
+
"PUT",
|
|
10
|
+
"DELETE",
|
|
11
|
+
"PATCH",
|
|
12
|
+
"OPTIONS"
|
|
13
|
+
];
|
|
14
|
+
/**
|
|
15
|
+
* Checks whether a string is a recognized HTTP method for App Router route
|
|
16
|
+
* handlers. Invalid methods must be rejected with 400 before any auto-OPTIONS
|
|
17
|
+
* or 405 logic runs.
|
|
18
|
+
*
|
|
19
|
+
* @see https://github.com/vercel/next.js/blob/canary/packages/next/src/server/web/http.ts
|
|
20
|
+
*/
|
|
21
|
+
function isValidHTTPMethod(maybeMethod) {
|
|
22
|
+
return ROUTE_HANDLER_HTTP_METHODS.includes(maybeMethod);
|
|
23
|
+
}
|
|
24
|
+
function collectRouteHandlerMethods(handler) {
|
|
25
|
+
const methods = ROUTE_HANDLER_HTTP_METHODS.filter((method) => typeof handler[method] === "function");
|
|
26
|
+
if (methods.includes("GET") && !methods.includes("HEAD")) methods.push("HEAD");
|
|
27
|
+
return methods;
|
|
28
|
+
}
|
|
29
|
+
function buildRouteHandlerAllowHeader(exportedMethods) {
|
|
30
|
+
const allow = new Set(exportedMethods);
|
|
31
|
+
allow.add("OPTIONS");
|
|
32
|
+
return Array.from(allow).sort().join(", ");
|
|
33
|
+
}
|
|
34
|
+
const _KNOWN_DYNAMIC_APP_ROUTE_HANDLERS_KEY = Symbol.for("vinext.appRouteHandlerRuntime.knownDynamicHandlers");
|
|
35
|
+
const _g = globalThis;
|
|
36
|
+
const knownDynamicAppRouteHandlers = _g[_KNOWN_DYNAMIC_APP_ROUTE_HANDLERS_KEY] ??= /* @__PURE__ */ new Set();
|
|
37
|
+
function isKnownDynamicAppRoute(pattern) {
|
|
38
|
+
return knownDynamicAppRouteHandlers.has(pattern);
|
|
39
|
+
}
|
|
40
|
+
function markKnownDynamicAppRoute(pattern) {
|
|
41
|
+
knownDynamicAppRouteHandlers.add(pattern);
|
|
42
|
+
}
|
|
43
|
+
function bindMethodIfNeeded(value, target) {
|
|
44
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
45
|
+
}
|
|
46
|
+
function buildNextConfig(options) {
|
|
47
|
+
if (!options.basePath && !options.i18n && !options.trailingSlash) return null;
|
|
48
|
+
return {
|
|
49
|
+
basePath: options.basePath,
|
|
50
|
+
i18n: options.i18n ?? void 0,
|
|
51
|
+
trailingSlash: options.trailingSlash
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function rebuildRequestWithHeaders(input, headers) {
|
|
55
|
+
const method = input.method;
|
|
56
|
+
const hasBody = method !== "GET" && method !== "HEAD";
|
|
57
|
+
const init = {
|
|
58
|
+
method,
|
|
59
|
+
headers,
|
|
60
|
+
cache: input.cache,
|
|
61
|
+
credentials: input.credentials,
|
|
62
|
+
integrity: input.integrity,
|
|
63
|
+
keepalive: input.keepalive,
|
|
64
|
+
mode: input.mode,
|
|
65
|
+
redirect: input.redirect,
|
|
66
|
+
referrer: input.referrer,
|
|
67
|
+
referrerPolicy: input.referrerPolicy,
|
|
68
|
+
signal: input.signal
|
|
69
|
+
};
|
|
70
|
+
if (hasBody && input.body) {
|
|
71
|
+
init.body = input.body;
|
|
72
|
+
init.duplex = "half";
|
|
73
|
+
}
|
|
74
|
+
return new Request(input.url, init);
|
|
75
|
+
}
|
|
76
|
+
function cleanStaticUrl(url) {
|
|
77
|
+
const cleanUrl = new URL(url);
|
|
78
|
+
cleanUrl.protocol = "http:";
|
|
79
|
+
cleanUrl.host = "localhost:3000";
|
|
80
|
+
cleanUrl.username = "";
|
|
81
|
+
cleanUrl.password = "";
|
|
82
|
+
cleanUrl.search = "";
|
|
83
|
+
cleanUrl.hash = "";
|
|
84
|
+
return cleanUrl.href;
|
|
85
|
+
}
|
|
86
|
+
function readEmptyBodyAsArrayBuffer() {
|
|
87
|
+
return new Response(null).arrayBuffer();
|
|
88
|
+
}
|
|
89
|
+
function readEmptyBodyAsBlob() {
|
|
90
|
+
return new Response(null).blob();
|
|
91
|
+
}
|
|
92
|
+
function readEmptyBodyAsFormData() {
|
|
93
|
+
return new Response(null).formData();
|
|
94
|
+
}
|
|
95
|
+
function readEmptyBodyAsJson() {
|
|
96
|
+
return new Response(null).json();
|
|
97
|
+
}
|
|
98
|
+
function readEmptyBodyAsText() {
|
|
99
|
+
return new Response(null).text();
|
|
100
|
+
}
|
|
101
|
+
function createTrackedAppRouteRequest(request, options = {}) {
|
|
102
|
+
let didAccessDynamicRequest = false;
|
|
103
|
+
const requestMode = options.requestMode ?? "auto";
|
|
104
|
+
const nextConfig = buildNextConfig(options);
|
|
105
|
+
const markDynamicAccess = (access) => {
|
|
106
|
+
didAccessDynamicRequest = true;
|
|
107
|
+
options.onDynamicAccess?.(access);
|
|
108
|
+
};
|
|
109
|
+
const wrapNextUrl = (nextUrl) => {
|
|
110
|
+
return new Proxy(nextUrl, { get(target, prop) {
|
|
111
|
+
switch (prop) {
|
|
112
|
+
case "search":
|
|
113
|
+
case "searchParams":
|
|
114
|
+
case "url":
|
|
115
|
+
case "href":
|
|
116
|
+
case "toJSON":
|
|
117
|
+
case "toString":
|
|
118
|
+
case "origin":
|
|
119
|
+
markDynamicAccess(`nextUrl.${String(prop)}`);
|
|
120
|
+
return bindMethodIfNeeded(Reflect.get(target, prop, target), target);
|
|
121
|
+
case "clone": return () => wrapNextUrl(target.clone());
|
|
122
|
+
default: return bindMethodIfNeeded(Reflect.get(target, prop, target), target);
|
|
123
|
+
}
|
|
124
|
+
} });
|
|
125
|
+
};
|
|
126
|
+
const wrapForceStaticNextUrl = (nextUrl) => {
|
|
127
|
+
const emptySearchParams = new URLSearchParams();
|
|
128
|
+
const staticHref = cleanStaticUrl(nextUrl.href);
|
|
129
|
+
return new Proxy(nextUrl, { get(target, prop) {
|
|
130
|
+
switch (prop) {
|
|
131
|
+
case "search": return "";
|
|
132
|
+
case "searchParams": return emptySearchParams;
|
|
133
|
+
case "href": return staticHref;
|
|
134
|
+
case "url": return;
|
|
135
|
+
case "toJSON":
|
|
136
|
+
case "toString": return () => staticHref;
|
|
137
|
+
case "clone": return () => wrapForceStaticNextUrl(target.clone());
|
|
138
|
+
default: return bindMethodIfNeeded(Reflect.get(target, prop, target), target);
|
|
139
|
+
}
|
|
140
|
+
} });
|
|
141
|
+
};
|
|
142
|
+
const throwStaticGenerationError = (expression) => {
|
|
143
|
+
throw new Error(options.staticGenerationErrorMessage?.(expression) ?? `Route handler with \`dynamic = "error"\` used ${expression}.`);
|
|
144
|
+
};
|
|
145
|
+
const wrapRequireStaticNextUrl = (nextUrl) => {
|
|
146
|
+
return new Proxy(nextUrl, { get(target, prop) {
|
|
147
|
+
switch (prop) {
|
|
148
|
+
case "search":
|
|
149
|
+
case "searchParams":
|
|
150
|
+
case "url":
|
|
151
|
+
case "href":
|
|
152
|
+
case "toJSON":
|
|
153
|
+
case "toString":
|
|
154
|
+
case "origin": return throwStaticGenerationError(`nextUrl.${String(prop)}`);
|
|
155
|
+
case "clone": return () => wrapRequireStaticNextUrl(target.clone());
|
|
156
|
+
default: return bindMethodIfNeeded(Reflect.get(target, prop, target), target);
|
|
157
|
+
}
|
|
158
|
+
} });
|
|
159
|
+
};
|
|
160
|
+
const wrapRequest = (rawInput) => {
|
|
161
|
+
let input = rawInput;
|
|
162
|
+
if (options.basePath) {
|
|
163
|
+
const inputUrl = new URL(rawInput.url);
|
|
164
|
+
const prefixedPathname = addBasePathToPathname(inputUrl.pathname, options.basePath);
|
|
165
|
+
if (prefixedPathname !== inputUrl.pathname) {
|
|
166
|
+
inputUrl.pathname = prefixedPathname;
|
|
167
|
+
const bodySource = rawInput.body && !rawInput.bodyUsed ? rawInput.clone() : rawInput;
|
|
168
|
+
input = new Request(inputUrl, bodySource);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
const requestHeaders = options.middlewareHeaders ? buildRequestHeadersFromMiddlewareResponse(input.headers, options.middlewareHeaders) : null;
|
|
172
|
+
const requestWithOverrides = requestHeaders ? rebuildRequestWithHeaders(input, requestHeaders) : input;
|
|
173
|
+
const nextRequest = requestWithOverrides instanceof NextRequest ? requestWithOverrides : new NextRequest(requestWithOverrides, { nextConfig: nextConfig ?? void 0 });
|
|
174
|
+
let proxiedNextUrl = null;
|
|
175
|
+
let forceStaticNextUrl = null;
|
|
176
|
+
let requireStaticNextUrl = null;
|
|
177
|
+
let forceStaticHeaders = null;
|
|
178
|
+
let forceStaticCookies = null;
|
|
179
|
+
return new Proxy(nextRequest, { get(target, prop) {
|
|
180
|
+
if (requestMode === "force-static") switch (prop) {
|
|
181
|
+
case "nextUrl":
|
|
182
|
+
forceStaticNextUrl ??= wrapForceStaticNextUrl(target.nextUrl);
|
|
183
|
+
return forceStaticNextUrl;
|
|
184
|
+
case "headers":
|
|
185
|
+
forceStaticHeaders ??= sealRequestHeaders(new Headers());
|
|
186
|
+
return forceStaticHeaders;
|
|
187
|
+
case "cookies":
|
|
188
|
+
forceStaticCookies ??= sealRequestCookies(new RequestCookies(new Headers()));
|
|
189
|
+
return forceStaticCookies;
|
|
190
|
+
case "url": return cleanStaticUrl(target.nextUrl.href);
|
|
191
|
+
case "ip":
|
|
192
|
+
case "geo": return;
|
|
193
|
+
case "body": return null;
|
|
194
|
+
case "arrayBuffer": return readEmptyBodyAsArrayBuffer;
|
|
195
|
+
case "blob": return readEmptyBodyAsBlob;
|
|
196
|
+
case "formData": return readEmptyBodyAsFormData;
|
|
197
|
+
case "json": return readEmptyBodyAsJson;
|
|
198
|
+
case "text": return readEmptyBodyAsText;
|
|
199
|
+
case "clone": return () => wrapRequest(target.clone());
|
|
200
|
+
default: return bindMethodIfNeeded(Reflect.get(target, prop, target), target);
|
|
201
|
+
}
|
|
202
|
+
if (requestMode === "error") switch (prop) {
|
|
203
|
+
case "nextUrl":
|
|
204
|
+
requireStaticNextUrl ??= wrapRequireStaticNextUrl(target.nextUrl);
|
|
205
|
+
return requireStaticNextUrl;
|
|
206
|
+
case "headers":
|
|
207
|
+
case "cookies":
|
|
208
|
+
case "url":
|
|
209
|
+
case "ip":
|
|
210
|
+
case "geo":
|
|
211
|
+
case "body":
|
|
212
|
+
case "blob":
|
|
213
|
+
case "json":
|
|
214
|
+
case "text":
|
|
215
|
+
case "arrayBuffer":
|
|
216
|
+
case "formData": return throwStaticGenerationError(`request.${String(prop)}`);
|
|
217
|
+
case "clone": return () => wrapRequest(target.clone());
|
|
218
|
+
default: return bindMethodIfNeeded(Reflect.get(target, prop, target), target);
|
|
219
|
+
}
|
|
220
|
+
switch (prop) {
|
|
221
|
+
case "nextUrl":
|
|
222
|
+
proxiedNextUrl ??= wrapNextUrl(target.nextUrl);
|
|
223
|
+
return proxiedNextUrl;
|
|
224
|
+
case "headers":
|
|
225
|
+
case "cookies":
|
|
226
|
+
case "ip":
|
|
227
|
+
case "geo":
|
|
228
|
+
case "url":
|
|
229
|
+
case "body":
|
|
230
|
+
case "blob":
|
|
231
|
+
case "json":
|
|
232
|
+
case "text":
|
|
233
|
+
case "arrayBuffer":
|
|
234
|
+
case "formData":
|
|
235
|
+
markDynamicAccess(`request.${String(prop)}`);
|
|
236
|
+
return bindMethodIfNeeded(Reflect.get(target, prop, target), target);
|
|
237
|
+
case "clone": return () => wrapRequest(target.clone());
|
|
238
|
+
default: return bindMethodIfNeeded(Reflect.get(target, prop, target), target);
|
|
239
|
+
}
|
|
240
|
+
} });
|
|
241
|
+
};
|
|
242
|
+
return {
|
|
243
|
+
request: wrapRequest(request),
|
|
244
|
+
didAccessDynamicRequest() {
|
|
245
|
+
return didAccessDynamicRequest;
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
//#endregion
|
|
250
|
+
export { buildRouteHandlerAllowHeader, collectRouteHandlerMethods, createTrackedAppRouteRequest, isKnownDynamicAppRoute, isValidHTTPMethod, markKnownDynamicAppRoute };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
//#region src/server/app-route-module-loader.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Lazy route-module hydration for the App Router RSC entry.
|
|
4
|
+
*
|
|
5
|
+
* The generated route table (see `entries/app-rsc-manifest.ts`) emits page and
|
|
6
|
+
* route-handler modules as lazy `() => import()` thunks instead of eager
|
|
7
|
+
* `import * as mod_N` namespaces. This keeps those modules out of the RSC
|
|
8
|
+
* entry's top-level evaluation, so an app with many routes — or routes with
|
|
9
|
+
* expensive module-level initialization — does not pay to evaluate every route
|
|
10
|
+
* module at Worker startup. Only the module(s) for the matched route are
|
|
11
|
+
* evaluated, on demand.
|
|
12
|
+
*
|
|
13
|
+
* `ensureAppRouteModulesLoaded` resolves a route's lazy thunks and populates
|
|
14
|
+
* the synchronous module fields that the rest of the request pipeline reads
|
|
15
|
+
* directly (`page`, `routeHandler`, layouts, templates, boundaries, and
|
|
16
|
+
* parallel-slot modules). It is:
|
|
17
|
+
*
|
|
18
|
+
* - idempotent: once a route is loaded it returns immediately;
|
|
19
|
+
* - dedup'd: concurrent calls for the same route share one in-flight promise,
|
|
20
|
+
* so a burst of requests to the same route triggers a single import.
|
|
21
|
+
*
|
|
22
|
+
* Callers must `await` it before any synchronous read of route modules
|
|
23
|
+
* (segment config, fetch-cache mode, runtime resolution, dispatch branch,
|
|
24
|
+
* element building, etc.).
|
|
25
|
+
*/
|
|
26
|
+
type LazyModuleThunk = () => Promise<unknown>;
|
|
27
|
+
type LazyModuleLoaderArray = readonly (LazyModuleThunk | null | undefined)[];
|
|
28
|
+
type LazyLoadableIntercept = {
|
|
29
|
+
interceptLayouts?: readonly unknown[] | null;
|
|
30
|
+
__loadInterceptLayouts?: LazyModuleLoaderArray | null;
|
|
31
|
+
__loadState?: {
|
|
32
|
+
interceptLayoutsLoading: Promise<readonly unknown[]> | null;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
type LazyLoadableSlot = {
|
|
36
|
+
page?: unknown;
|
|
37
|
+
default?: unknown;
|
|
38
|
+
layout?: unknown;
|
|
39
|
+
loading?: unknown;
|
|
40
|
+
error?: unknown;
|
|
41
|
+
__loadPage?: LazyModuleThunk | null;
|
|
42
|
+
__loadDefault?: LazyModuleThunk | null;
|
|
43
|
+
__loadLayout?: LazyModuleThunk | null;
|
|
44
|
+
__loadLoading?: LazyModuleThunk | null;
|
|
45
|
+
__loadError?: LazyModuleThunk | null; /** Hydrated only after an intercept matches, not with the slot's base modules. */
|
|
46
|
+
intercepts?: LazyLoadableIntercept[];
|
|
47
|
+
};
|
|
48
|
+
type LazyLoadableRoute = {
|
|
49
|
+
page?: unknown;
|
|
50
|
+
routeHandler?: unknown;
|
|
51
|
+
layouts?: unknown[];
|
|
52
|
+
templates?: unknown[];
|
|
53
|
+
errors?: unknown[];
|
|
54
|
+
errorPaths?: unknown[];
|
|
55
|
+
notFounds?: unknown[];
|
|
56
|
+
forbiddens?: unknown[];
|
|
57
|
+
unauthorizeds?: unknown[];
|
|
58
|
+
loading?: unknown;
|
|
59
|
+
error?: unknown;
|
|
60
|
+
notFound?: unknown;
|
|
61
|
+
forbidden?: unknown;
|
|
62
|
+
unauthorized?: unknown;
|
|
63
|
+
slots?: Record<string, LazyLoadableSlot>;
|
|
64
|
+
siblingIntercepts?: LazyLoadableIntercept[]; /** Lazy loader for the page module; `null`/absent when the page is eager. */
|
|
65
|
+
__loadPage?: LazyModuleThunk | null; /** Lazy loader for the route-handler module; `null`/absent when none. */
|
|
66
|
+
__loadRouteHandler?: LazyModuleThunk | null;
|
|
67
|
+
__loadLayouts?: LazyModuleLoaderArray | null;
|
|
68
|
+
__loadTemplates?: LazyModuleLoaderArray | null;
|
|
69
|
+
__loadErrors?: LazyModuleLoaderArray | null;
|
|
70
|
+
__loadErrorPaths?: LazyModuleLoaderArray | null;
|
|
71
|
+
__loadNotFounds?: LazyModuleLoaderArray | null;
|
|
72
|
+
__loadForbiddens?: LazyModuleLoaderArray | null;
|
|
73
|
+
__loadUnauthorizeds?: LazyModuleLoaderArray | null;
|
|
74
|
+
__loadLoading?: LazyModuleThunk | null;
|
|
75
|
+
__loadError?: LazyModuleThunk | null;
|
|
76
|
+
__loadNotFound?: LazyModuleThunk | null;
|
|
77
|
+
__loadForbidden?: LazyModuleThunk | null;
|
|
78
|
+
__loadUnauthorized?: LazyModuleThunk | null; /** Set once the route's lazy module fields have been resolved. */
|
|
79
|
+
__loaded?: boolean; /** In-flight hydration promise, used to dedup concurrent loads. */
|
|
80
|
+
__loading?: Promise<unknown> | null;
|
|
81
|
+
};
|
|
82
|
+
declare function loadAppInterceptLayouts(intercept: LazyLoadableIntercept): Promise<readonly unknown[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Resolve a route's lazy modules and assign them onto the route's synchronous
|
|
85
|
+
* module fields. Returns the same route reference (synchronously when already
|
|
86
|
+
* loaded, otherwise after the in-flight import resolves). Safe to call on
|
|
87
|
+
* `null`/`undefined` routes and on eager routes that have no lazy thunks.
|
|
88
|
+
*/
|
|
89
|
+
declare function ensureAppRouteModulesLoaded<TRoute extends LazyLoadableRoute>(route: TRoute | null | undefined): TRoute | Promise<TRoute>;
|
|
90
|
+
//#endregion
|
|
91
|
+
export { LazyLoadableRoute, ensureAppRouteModulesLoaded, loadAppInterceptLayouts };
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
//#region src/server/app-route-module-loader.ts
|
|
2
|
+
function pushFieldLoad(loads, target, field, loader) {
|
|
3
|
+
if (!loader || target[field] != null) return;
|
|
4
|
+
loads.push(loader().then((module) => {
|
|
5
|
+
target[field] = module;
|
|
6
|
+
}));
|
|
7
|
+
}
|
|
8
|
+
function pushArrayLoads(loads, target, loaders) {
|
|
9
|
+
if (!target || !loaders) return;
|
|
10
|
+
const slots = target;
|
|
11
|
+
for (const [index, loader] of loaders.entries()) {
|
|
12
|
+
if (index >= slots.length || !loader || slots[index] != null) continue;
|
|
13
|
+
loads.push(loader().then((module) => {
|
|
14
|
+
slots[index] = module;
|
|
15
|
+
}));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function loadAppInterceptLayouts(intercept) {
|
|
19
|
+
const loadState = intercept.__loadState;
|
|
20
|
+
if (loadState?.interceptLayoutsLoading) return loadState.interceptLayoutsLoading;
|
|
21
|
+
const loads = [];
|
|
22
|
+
pushArrayLoads(loads, intercept.interceptLayouts, intercept.__loadInterceptLayouts);
|
|
23
|
+
if (loads.length === 0) return Promise.resolve(intercept.interceptLayouts ?? []);
|
|
24
|
+
const loading = Promise.all(loads).then(() => {
|
|
25
|
+
if (loadState) loadState.interceptLayoutsLoading = null;
|
|
26
|
+
return intercept.interceptLayouts ?? [];
|
|
27
|
+
}).catch((error) => {
|
|
28
|
+
if (loadState) loadState.interceptLayoutsLoading = null;
|
|
29
|
+
throw error;
|
|
30
|
+
});
|
|
31
|
+
if (loadState) loadState.interceptLayoutsLoading = loading;
|
|
32
|
+
return loading;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolve a route's lazy modules and assign them onto the route's synchronous
|
|
36
|
+
* module fields. Returns the same route reference (synchronously when already
|
|
37
|
+
* loaded, otherwise after the in-flight import resolves). Safe to call on
|
|
38
|
+
* `null`/`undefined` routes and on eager routes that have no lazy thunks.
|
|
39
|
+
*/
|
|
40
|
+
function ensureAppRouteModulesLoaded(route) {
|
|
41
|
+
if (!route || route.__loaded) return route;
|
|
42
|
+
if (route.__loading) return route.__loading;
|
|
43
|
+
const loadPage = route.__loadPage;
|
|
44
|
+
const loadRouteHandler = route.__loadRouteHandler;
|
|
45
|
+
const loads = [];
|
|
46
|
+
pushFieldLoad(loads, route, "page", loadPage);
|
|
47
|
+
pushFieldLoad(loads, route, "routeHandler", loadRouteHandler);
|
|
48
|
+
pushFieldLoad(loads, route, "loading", route.__loadLoading);
|
|
49
|
+
pushFieldLoad(loads, route, "error", route.__loadError);
|
|
50
|
+
pushFieldLoad(loads, route, "notFound", route.__loadNotFound);
|
|
51
|
+
pushFieldLoad(loads, route, "forbidden", route.__loadForbidden);
|
|
52
|
+
pushFieldLoad(loads, route, "unauthorized", route.__loadUnauthorized);
|
|
53
|
+
pushArrayLoads(loads, route.layouts, route.__loadLayouts);
|
|
54
|
+
pushArrayLoads(loads, route.templates, route.__loadTemplates);
|
|
55
|
+
pushArrayLoads(loads, route.errors, route.__loadErrors);
|
|
56
|
+
pushArrayLoads(loads, route.errorPaths, route.__loadErrorPaths);
|
|
57
|
+
pushArrayLoads(loads, route.notFounds, route.__loadNotFounds);
|
|
58
|
+
pushArrayLoads(loads, route.forbiddens, route.__loadForbiddens);
|
|
59
|
+
pushArrayLoads(loads, route.unauthorizeds, route.__loadUnauthorizeds);
|
|
60
|
+
for (const slot of Object.values(route.slots ?? {})) {
|
|
61
|
+
pushFieldLoad(loads, slot, "page", slot.__loadPage);
|
|
62
|
+
pushFieldLoad(loads, slot, "default", slot.__loadDefault);
|
|
63
|
+
pushFieldLoad(loads, slot, "layout", slot.__loadLayout);
|
|
64
|
+
pushFieldLoad(loads, slot, "loading", slot.__loadLoading);
|
|
65
|
+
pushFieldLoad(loads, slot, "error", slot.__loadError);
|
|
66
|
+
}
|
|
67
|
+
if (loads.length === 0) {
|
|
68
|
+
route.__loaded = true;
|
|
69
|
+
return route;
|
|
70
|
+
}
|
|
71
|
+
const loading = Promise.all(loads).then(() => {
|
|
72
|
+
route.__loaded = true;
|
|
73
|
+
route.__loading = null;
|
|
74
|
+
return route;
|
|
75
|
+
}).catch((error) => {
|
|
76
|
+
route.__loading = null;
|
|
77
|
+
throw error;
|
|
78
|
+
});
|
|
79
|
+
route.__loading = loading;
|
|
80
|
+
return loading;
|
|
81
|
+
}
|
|
82
|
+
//#endregion
|
|
83
|
+
export { ensureAppRouteModulesLoaded, loadAppInterceptLayouts };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ExecutionContextLike } from "../shims/request-context.js";
|
|
2
|
+
|
|
3
|
+
//#region src/server/app-router-entry.d.ts
|
|
4
|
+
type WorkerAssetEnv = {
|
|
5
|
+
ASSETS?: {
|
|
6
|
+
fetch(request: Request): Promise<Response> | Response;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
declare const _default: {
|
|
10
|
+
fetch(request: Request, env?: WorkerAssetEnv, ctx?: ExecutionContextLike): Promise<Response>;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { _default as default };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import "./server-globals.js";
|
|
2
|
+
import { runWithExecutionContext } from "../shims/request-context.js";
|
|
3
|
+
import { VINEXT_PRERENDER_ROUTE_PARAMS_HEADER } from "./headers.js";
|
|
4
|
+
import { badRequestResponse, notFoundResponse, notFoundStaticAssetResponse } from "./http-error-responses.js";
|
|
5
|
+
import { isOpenRedirectShaped } from "./open-redirect.js";
|
|
6
|
+
import { cloneRequestWithHeaders, filterInternalHeaders } from "./request-pipeline.js";
|
|
7
|
+
import { assetPrefixPathname, isNextStaticPath } from "../utils/asset-prefix.js";
|
|
8
|
+
import { resolveStaticAssetSignal } from "./worker-utils.js";
|
|
9
|
+
import { readTrustedPrerenderRouteParams, serializePrerenderRouteParamsHeader } from "./prerender-route-params.js";
|
|
10
|
+
import rscHandler, { __assetPrefix, __basePath } from "virtual:vinext-rsc-entry";
|
|
11
|
+
import { registerConfiguredCacheAdapters } from "virtual:vinext-cache-adapters";
|
|
12
|
+
//#region src/server/app-router-entry.ts
|
|
13
|
+
const __workerBasePath = typeof __basePath === "string" ? __basePath : "";
|
|
14
|
+
const __workerAssetPathPrefix = assetPrefixPathname(typeof __assetPrefix === "string" ? __assetPrefix : "");
|
|
15
|
+
var app_router_entry_default = { async fetch(request, env, ctx) {
|
|
16
|
+
return handleRequest(request, env, ctx);
|
|
17
|
+
} };
|
|
18
|
+
async function handleRequest(request, env, ctx) {
|
|
19
|
+
registerConfiguredCacheAdapters(env);
|
|
20
|
+
const url = new URL(request.url);
|
|
21
|
+
if (isOpenRedirectShaped(url.pathname)) return notFoundResponse();
|
|
22
|
+
try {
|
|
23
|
+
decodeURIComponent(url.pathname);
|
|
24
|
+
} catch {
|
|
25
|
+
return badRequestResponse();
|
|
26
|
+
}
|
|
27
|
+
if (isNextStaticPath(url.pathname, __workerBasePath, __workerAssetPathPrefix)) return notFoundStaticAssetResponse();
|
|
28
|
+
{
|
|
29
|
+
const prerenderRouteParamsPayload = readTrustedPrerenderRouteParams(request);
|
|
30
|
+
const filteredHeaders = filterInternalHeaders(request.headers);
|
|
31
|
+
const prerenderRouteParamsHeader = serializePrerenderRouteParamsHeader(prerenderRouteParamsPayload);
|
|
32
|
+
if (prerenderRouteParamsHeader !== null) filteredHeaders.set(VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, prerenderRouteParamsHeader);
|
|
33
|
+
request = cloneRequestWithHeaders(request, filteredHeaders);
|
|
34
|
+
}
|
|
35
|
+
const handleFn = () => rscHandler(request, ctx);
|
|
36
|
+
const result = await (ctx ? runWithExecutionContext(ctx, handleFn) : handleFn());
|
|
37
|
+
if (result instanceof Response) {
|
|
38
|
+
if (env?.ASSETS) {
|
|
39
|
+
const assetFetcher = env.ASSETS;
|
|
40
|
+
const assetResponse = await resolveStaticAssetSignal(result, { fetchAsset: (path) => Promise.resolve(assetFetcher.fetch(new Request(new URL(path, request.url)))) });
|
|
41
|
+
if (assetResponse) return assetResponse;
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
if (result === null || result === void 0) return notFoundResponse();
|
|
46
|
+
return new Response(String(result), { status: 200 });
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { app_router_entry_default as default };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { VINEXT_RSC_RENDER_MODE_HEADER } from "./headers.js";
|
|
2
|
+
import { AppRscRenderMode } from "./app-rsc-render-mode.js";
|
|
3
|
+
|
|
4
|
+
//#region src/server/app-rsc-cache-busting.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* RSC cache-busting hashes cover the headers that make an RSC payload vary.
|
|
7
|
+
* Client-side variant headers must survive transit through CDNs and reverse
|
|
8
|
+
* proxies; stripping them changes the server hash and turns stale URLs into
|
|
9
|
+
* repeated canonicalization redirects.
|
|
10
|
+
*/
|
|
11
|
+
declare const VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM = "_rsc";
|
|
12
|
+
declare const VINEXT_RSC_COMPATIBILITY_ID_HEADER = "X-Vinext-RSC-Compatibility-Id";
|
|
13
|
+
declare const VINEXT_RSC_CONTENT_TYPE = "text/x-component";
|
|
14
|
+
declare const VINEXT_RSC_VARY_HEADER: string;
|
|
15
|
+
type CreateRscRequestHeadersOptions = {
|
|
16
|
+
clientReuseManifestHeader?: string | null;
|
|
17
|
+
interceptionContext?: string | null;
|
|
18
|
+
mountedSlotsHeader?: string | null;
|
|
19
|
+
renderMode?: AppRscRenderMode;
|
|
20
|
+
};
|
|
21
|
+
type ResolveInvalidRscCacheBustingRequestOptions = {
|
|
22
|
+
isRscRequest: boolean;
|
|
23
|
+
request: Request;
|
|
24
|
+
};
|
|
25
|
+
declare function getVinextRscCompatibilityId(): string | null;
|
|
26
|
+
declare function applyRscCompatibilityIdHeader(headers: Headers, compatibilityId?: string | null | undefined): void;
|
|
27
|
+
declare function isRscCompatibilityIdCompatible(responseCompatibilityId: string | null | undefined, clientCompatibilityId?: string | null | undefined): boolean;
|
|
28
|
+
type RscCompatibilityNavigationDecision = {
|
|
29
|
+
kind: "compatible";
|
|
30
|
+
} | {
|
|
31
|
+
hardNavigationTarget: string;
|
|
32
|
+
kind: "hard-navigate";
|
|
33
|
+
};
|
|
34
|
+
declare function resolveHardNavigationTargetFromRscResponse(responseUrl: string | null | undefined, currentHref: string, origin: string): string;
|
|
35
|
+
declare function resolveRscCompatibilityNavigationDecision(options: {
|
|
36
|
+
clientCompatibilityId?: string | null;
|
|
37
|
+
currentHref: string;
|
|
38
|
+
origin: string;
|
|
39
|
+
responseCompatibilityId: string | null | undefined;
|
|
40
|
+
responseUrl?: string | null;
|
|
41
|
+
}): RscCompatibilityNavigationDecision;
|
|
42
|
+
/**
|
|
43
|
+
* Detect the internal RSC cache-busting search param using the same
|
|
44
|
+
* encoding-aware matching as `stripRscCacheBustingSearchParam`
|
|
45
|
+
* (`isRscCacheBustingSearchPair`). The two share a single matcher so a guard
|
|
46
|
+
* built on this helper and the stripper can never disagree on which pairs
|
|
47
|
+
* count as `_rsc`, including encoded-key edge cases like `%5Frsc`.
|
|
48
|
+
*/
|
|
49
|
+
declare function hasRscCacheBustingSearchParam(url: URL): boolean;
|
|
50
|
+
declare function computeRscCacheBustingSearchParam(headers: Headers): Promise<string>;
|
|
51
|
+
declare function setRscCacheBustingSearchParam(url: URL, hash: string): void;
|
|
52
|
+
declare function stripRscCacheBustingSearchParam(url: URL): void;
|
|
53
|
+
/**
|
|
54
|
+
* Remove a trailing `.rsc` suffix from a pathname. Returns the pathname
|
|
55
|
+
* unchanged when the suffix is absent.
|
|
56
|
+
*/
|
|
57
|
+
declare function stripRscSuffix(pathname: string): string;
|
|
58
|
+
declare function createRscRequestHeaders(options?: CreateRscRequestHeadersOptions): Headers;
|
|
59
|
+
declare function createRscRequestUrl(href: string, headers: Headers): Promise<string>;
|
|
60
|
+
declare function createServerActionRequestUrl(href: string): string;
|
|
61
|
+
declare function createRscRedirectLocation(location: string, request: Request): Promise<string>;
|
|
62
|
+
declare function resolveInvalidRscCacheBustingRequest(options: ResolveInvalidRscCacheBustingRequestOptions): Promise<Response | null>;
|
|
63
|
+
//#endregion
|
|
64
|
+
export { VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM, VINEXT_RSC_COMPATIBILITY_ID_HEADER, VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader, computeRscCacheBustingSearchParam, createRscRedirectLocation, createRscRequestHeaders, createRscRequestUrl, createServerActionRequestUrl, getVinextRscCompatibilityId, hasRscCacheBustingSearchParam, isRscCompatibilityIdCompatible, resolveHardNavigationTargetFromRscResponse, resolveInvalidRscCacheBustingRequest, resolveRscCompatibilityNavigationDecision, setRscCacheBustingSearchParam, stripRscCacheBustingSearchParam, stripRscSuffix };
|