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,6 +1,6 @@
|
|
|
1
1
|
import { createValidFileMatcher } from "./file-matcher.js";
|
|
2
|
-
import { createRouteTrieCache, matchRouteWithTrie } from "./route-matching.js";
|
|
3
2
|
import { buildAppRouteGraph, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts } from "./app-route-graph.js";
|
|
3
|
+
import { createRouteTrieCache, matchRouteWithTrie } from "./route-matching.js";
|
|
4
4
|
//#region src/routing/app-router.ts
|
|
5
5
|
/**
|
|
6
6
|
* App Router file-system routing.
|
|
@@ -58,6 +58,28 @@ async function appRouter(appDir, pageExtensions, matcher) {
|
|
|
58
58
|
function appRouteHasMainTreeLoadingBoundary(route) {
|
|
59
59
|
return route.loadingPath != null || (route.loadingPaths?.some((_loadingPath, index) => (route.loadingTreePositions?.[index] ?? 0) > 0) ?? false);
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* A route's layouts below a dynamic URL segment, one generateStaticParams
|
|
63
|
+
* provider each, keyed by the layout's directory. Next.js composes only the
|
|
64
|
+
* segments of a route's own loader tree, each segment as its own step
|
|
65
|
+
* (build/static-paths/app.ts generateRouteStaticParams), and route groups put
|
|
66
|
+
* different layouts at the same URL pattern prefix, so neither the pattern nor
|
|
67
|
+
* a shared provider identifies a layout.
|
|
68
|
+
*/
|
|
69
|
+
function appRouteLayoutStaticParamsGroups(route) {
|
|
70
|
+
const groups = [];
|
|
71
|
+
for (const [index, layoutPath] of route.layouts.entries()) {
|
|
72
|
+
const segments = route.routeSegments.slice(0, route.layoutTreePositions[index] ?? 0);
|
|
73
|
+
const pattern = `/${(convertSegmentsToRouteParts(segments)?.urlSegments ?? []).join("/")}`;
|
|
74
|
+
if (!pattern.includes(":")) continue;
|
|
75
|
+
groups.push({
|
|
76
|
+
key: `layouts:${segments.join("/")}`,
|
|
77
|
+
layoutPath,
|
|
78
|
+
pattern
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return groups;
|
|
82
|
+
}
|
|
61
83
|
const appTrieCache = createRouteTrieCache();
|
|
62
84
|
/**
|
|
63
85
|
* Match a URL against App Router routes.
|
|
@@ -66,4 +88,4 @@ function matchAppRoute(url, routes) {
|
|
|
66
88
|
return matchRouteWithTrie(url, routes, appTrieCache);
|
|
67
89
|
}
|
|
68
90
|
//#endregion
|
|
69
|
-
export { appRouteGraph, appRouteHasMainTreeLoadingBoundary, appRouter, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts, invalidateAppRouteCache, matchAppRoute };
|
|
91
|
+
export { appRouteGraph, appRouteHasMainTreeLoadingBoundary, appRouteLayoutStaticParamsGroups, appRouter, computeAppRouteStaticSiblings, computeRootParamNames, convertSegmentsToRouteParts, invalidateAppRouteCache, matchAppRoute };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/routing/file-matcher.d.ts
|
|
2
|
-
declare function normalizePageExtensions(pageExtensions?: readonly string[] | null): string[];
|
|
3
|
-
type ValidFileMatcher = {
|
|
2
|
+
export declare function normalizePageExtensions(pageExtensions?: readonly string[] | null): string[];
|
|
3
|
+
export type ValidFileMatcher = {
|
|
4
4
|
extensions: string[];
|
|
5
5
|
dottedExtensions: string[];
|
|
6
6
|
extensionRegex: RegExp;
|
|
@@ -15,14 +15,14 @@ type ValidFileMatcher = {
|
|
|
15
15
|
* Ported in spirit from Next.js createValidFileMatcher:
|
|
16
16
|
* packages/next/src/server/lib/find-page-file.ts
|
|
17
17
|
*/
|
|
18
|
-
declare function createValidFileMatcher(pageExtensions?: readonly string[] | null): ValidFileMatcher;
|
|
18
|
+
export declare function createValidFileMatcher(pageExtensions?: readonly string[] | null): ValidFileMatcher;
|
|
19
19
|
/** Check if a file exists with any configured page extension. */
|
|
20
|
-
declare function findFileWithExtensions(basePath: string, matcher: ValidFileMatcher): boolean;
|
|
20
|
+
export declare function findFileWithExtensions(basePath: string, matcher: ValidFileMatcher): boolean;
|
|
21
21
|
/**
|
|
22
22
|
* Find a file by basename and configured page extension in a directory.
|
|
23
23
|
* Returns the first matching absolute path, or null if not found.
|
|
24
24
|
*/
|
|
25
|
-
declare function findFileWithExts(dir: string, name: string, matcher: ValidFileMatcher): string | null;
|
|
25
|
+
export declare function findFileWithExts(dir: string, name: string, matcher: ValidFileMatcher): string | null;
|
|
26
26
|
/**
|
|
27
27
|
* Add the config extensions produced by `vinext init` to vinext's resolver.
|
|
28
28
|
*
|
|
@@ -38,7 +38,7 @@ declare function findFileWithExts(dir: string, name: string, matcher: ValidFileM
|
|
|
38
38
|
* `.cjs`/`.cts` go last because `vinext init` renames CJS config files when it
|
|
39
39
|
* adds `"type": "module"`, and app code may import those files extensionlessly.
|
|
40
40
|
*/
|
|
41
|
-
declare function buildViteResolveExtensions(viteExtensions?: readonly string[]): string[];
|
|
41
|
+
export declare function buildViteResolveExtensions(viteExtensions?: readonly string[]): string[];
|
|
42
42
|
/**
|
|
43
43
|
* Normalize an explicit Next.js resolver extension list for Vite.
|
|
44
44
|
*
|
|
@@ -47,7 +47,7 @@ declare function buildViteResolveExtensions(viteExtensions?: readonly string[]):
|
|
|
47
47
|
* webpack/Turbopack convention for trying the import exactly as written; Vite
|
|
48
48
|
* already does that before appending extensions, so it must be omitted here.
|
|
49
49
|
*/
|
|
50
|
-
declare function normalizeViteResolveExtensions(extensions: readonly string[]): string[];
|
|
50
|
+
export declare function normalizeViteResolveExtensions(extensions: readonly string[]): string[];
|
|
51
51
|
/**
|
|
52
52
|
* Use function-form exclude for Node < 22.14 compatibility.
|
|
53
53
|
*
|
|
@@ -55,6 +55,5 @@ declare function normalizeViteResolveExtensions(extensions: readonly string[]):
|
|
|
55
55
|
* separators on Windows, so each match goes through `toSlash` — this is the
|
|
56
56
|
* boundary where external fs output enters the canonical forward-slash space.
|
|
57
57
|
*/
|
|
58
|
-
declare function scanWithExtensions(stem: string, cwd: string, extensions: readonly string[], exclude?: (name: string) => boolean): AsyncGenerator<string>;
|
|
59
|
-
//#endregion
|
|
60
|
-
export { ValidFileMatcher, buildViteResolveExtensions, createValidFileMatcher, findFileWithExtensions, findFileWithExts, normalizePageExtensions, normalizeViteResolveExtensions, scanWithExtensions };
|
|
58
|
+
export declare function scanWithExtensions(stem: string, cwd: string, extensions: readonly string[], exclude?: (name: string) => boolean): AsyncGenerator<string>;
|
|
59
|
+
//#endregion
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ValidFileMatcher } from "./file-matcher.js";
|
|
2
2
|
import { patternToNextFormat } from "./route-validation.js";
|
|
3
3
|
//#region src/routing/pages-router.d.ts
|
|
4
|
-
type Route = {
|
|
4
|
+
export type Route = {
|
|
5
5
|
/** URL pattern, e.g. "/" or "/about" or "/posts/:id" */
|
|
6
6
|
pattern: string;
|
|
7
7
|
/** Pre-split pattern segments (computed once at scan time, reused per request) */
|
|
@@ -17,7 +17,7 @@ type Route = {
|
|
|
17
17
|
* Invalidate cached routes for a given pages directory.
|
|
18
18
|
* Called by the file watcher when pages are added/removed.
|
|
19
19
|
*/
|
|
20
|
-
declare function invalidateRouteCache(pagesDir: string): void;
|
|
20
|
+
export declare function invalidateRouteCache(pagesDir: string): void;
|
|
21
21
|
/**
|
|
22
22
|
* Scan the pages/ directory and return a list of routes.
|
|
23
23
|
* Results are cached — call invalidateRouteCache() when files change.
|
|
@@ -30,12 +30,12 @@ declare function invalidateRouteCache(pagesDir: string): void;
|
|
|
30
30
|
* - Ignores _app.tsx, _document.tsx, _error.tsx (Next.js special files)
|
|
31
31
|
* - Ignores pages/api/ (handled separately later)
|
|
32
32
|
*/
|
|
33
|
-
declare function pagesRouter(pagesDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<Route[]>;
|
|
33
|
+
export declare function pagesRouter(pagesDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<Route[]>;
|
|
34
34
|
/**
|
|
35
35
|
* Match a URL path against a route pattern.
|
|
36
36
|
* Returns the matched params or null if no match.
|
|
37
37
|
*/
|
|
38
|
-
declare function matchRoute(url: string, routes: Route[]): {
|
|
38
|
+
export declare function matchRoute(url: string, routes: Route[]): {
|
|
39
39
|
route: Route;
|
|
40
40
|
params: Record<string, string | string[]>;
|
|
41
41
|
} | null;
|
|
@@ -47,6 +47,6 @@ declare function matchRoute(url: string, routes: Route[]): {
|
|
|
47
47
|
* - pages/api/hello.ts -> /api/hello
|
|
48
48
|
* - pages/api/users/[id].ts -> /api/users/:id
|
|
49
49
|
*/
|
|
50
|
-
declare function apiRouter(pagesDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<Route[]>;
|
|
50
|
+
export declare function apiRouter(pagesDir: string, pageExtensions?: readonly string[], matcher?: ValidFileMatcher): Promise<Route[]>;
|
|
51
51
|
//#endregion
|
|
52
|
-
export {
|
|
52
|
+
export { patternToNextFormat };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
|
-
import { decodeRouteSegment, sortRoutes } from "./utils.js";
|
|
3
2
|
import { createValidFileMatcher, scanWithExtensions } from "./file-matcher.js";
|
|
3
|
+
import { decodeRouteSegment, sortRoutes } from "./utils.js";
|
|
4
4
|
import { patternToNextFormat, validateRoutePatterns } from "./route-validation.js";
|
|
5
5
|
import { createRouteTrieCache, matchRouteWithTrieRawPathname } from "./route-matching.js";
|
|
6
6
|
//#region src/routing/pages-router.ts
|
|
@@ -3,7 +3,7 @@ import { TrieNode } from "./route-trie.js";
|
|
|
3
3
|
type RouteTrieCache<R extends {
|
|
4
4
|
patternParts: string[];
|
|
5
5
|
}> = WeakMap<R[], TrieNode<R>>;
|
|
6
|
-
declare function createRouteTrieCache<R extends {
|
|
6
|
+
export declare function createRouteTrieCache<R extends {
|
|
7
7
|
patternParts: string[];
|
|
8
8
|
}>(): RouteTrieCache<R>;
|
|
9
9
|
/**
|
|
@@ -16,7 +16,7 @@ declare function createRouteTrieCache<R extends {
|
|
|
16
16
|
* Generic over the route shape; both Pages `Route` and App `AppRoute`
|
|
17
17
|
* satisfy `{ patternParts: string[] }`.
|
|
18
18
|
*/
|
|
19
|
-
declare function matchRouteWithTrie<R extends {
|
|
19
|
+
export declare function matchRouteWithTrie<R extends {
|
|
20
20
|
patternParts: string[];
|
|
21
21
|
}>(url: string, routes: R[], cache: RouteTrieCache<R>): {
|
|
22
22
|
route: R;
|
|
@@ -29,11 +29,10 @@ declare function matchRouteWithTrie<R extends {
|
|
|
29
29
|
* not select the filesystem route `/about`. Dynamic captures are still decoded
|
|
30
30
|
* exactly once by `trieMatch`, matching `getRouteMatcher` upstream.
|
|
31
31
|
*/
|
|
32
|
-
declare function matchRouteWithTrieRawPathname<R extends {
|
|
32
|
+
export declare function matchRouteWithTrieRawPathname<R extends {
|
|
33
33
|
patternParts: string[];
|
|
34
34
|
}>(url: string, routes: R[], cache: RouteTrieCache<R>): {
|
|
35
35
|
route: R;
|
|
36
36
|
params: Record<string, string | string[]>;
|
|
37
37
|
} | null;
|
|
38
|
-
//#endregion
|
|
39
|
-
export { createRouteTrieCache, matchRouteWithTrie, matchRouteWithTrieRawPathname };
|
|
38
|
+
//#endregion
|
|
@@ -36,7 +36,8 @@ function matchRouteWithTrie(url, routes, cache) {
|
|
|
36
36
|
let normalizedUrl = pathname === "/" ? "/" : pathname.replace(/\/$/, "");
|
|
37
37
|
normalizedUrl = normalizePathnameForRouteMatch(normalizedUrl);
|
|
38
38
|
const urlParts = normalizedUrl.split("/").filter(Boolean);
|
|
39
|
-
|
|
39
|
+
const trie = getOrBuildTrie(cache, routes);
|
|
40
|
+
return trieMatch(trie, urlParts);
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
43
|
* Match a filesystem route against the request's raw encoded pathname.
|
|
@@ -48,7 +49,8 @@ function matchRouteWithTrie(url, routes, cache) {
|
|
|
48
49
|
function matchRouteWithTrieRawPathname(url, routes, cache) {
|
|
49
50
|
const pathname = url.split("?")[0];
|
|
50
51
|
const urlParts = (pathname === "/" ? "/" : pathname.replace(/\/$/, "")).split("/").filter(Boolean);
|
|
51
|
-
|
|
52
|
+
const trie = getOrBuildTrie(cache, routes);
|
|
53
|
+
return trieMatch(trie, urlParts);
|
|
52
54
|
}
|
|
53
55
|
//#endregion
|
|
54
56
|
export { createRouteTrieCache, matchRouteWithTrie, matchRouteWithTrieRawPathname };
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
//#region src/routing/route-pattern.d.ts
|
|
2
|
-
type RoutePatternParams = Record<string, string | string[]>;
|
|
3
|
-
declare function routePatternParts(pathname: string): string[];
|
|
4
|
-
declare function routePattern(pathname: string): string;
|
|
5
|
-
declare function fillRoutePatternSegments(pathname: string, params: RoutePatternParams): string | null;
|
|
6
|
-
declare function matchRoutePattern(urlParts: readonly string[], patternParts: readonly string[]): RoutePatternParams | null;
|
|
7
|
-
declare function matchRoutePatternRaw(urlParts: readonly string[], patternParts: readonly string[]): RoutePatternParams | null;
|
|
2
|
+
export type RoutePatternParams = Record<string, string | string[]>;
|
|
3
|
+
export declare function routePatternParts(pathname: string): string[];
|
|
4
|
+
export declare function routePattern(pathname: string): string;
|
|
5
|
+
export declare function fillRoutePatternSegments(pathname: string, params: RoutePatternParams): string | null;
|
|
6
|
+
export declare function matchRoutePattern(urlParts: readonly string[], patternParts: readonly string[]): RoutePatternParams | null;
|
|
7
|
+
export declare function matchRoutePatternRaw(urlParts: readonly string[], patternParts: readonly string[]): RoutePatternParams | null;
|
|
8
8
|
/**
|
|
9
9
|
* Extract params from the original encoded URL parts after route selection has
|
|
10
10
|
* already succeeded against normalized parts. Static parts are positional and
|
|
11
11
|
* intentionally not compared because their raw encoding can differ from the
|
|
12
12
|
* normalized route spelling (for example `%5Fsites` versus `_sites`).
|
|
13
13
|
*/
|
|
14
|
-
declare function extractRawRoutePatternParams(patternParts: readonly string[], urlParts: readonly string[]): RoutePatternParams;
|
|
15
|
-
declare function matchRoutePatternPrefix(pathParts: readonly string[], patternParts: readonly string[]): boolean;
|
|
16
|
-
declare function matchRoutePatternWithOptionalDynamicSegments(pathParts: readonly string[], patternParts: readonly string[]): boolean;
|
|
14
|
+
export declare function extractRawRoutePatternParams(patternParts: readonly string[], urlParts: readonly string[]): RoutePatternParams;
|
|
15
|
+
export declare function matchRoutePatternPrefix(pathParts: readonly string[], patternParts: readonly string[]): boolean;
|
|
16
|
+
export declare function matchRoutePatternWithOptionalDynamicSegments(pathParts: readonly string[], patternParts: readonly string[]): boolean;
|
|
17
17
|
/**
|
|
18
18
|
* A single entry from `getStaticPaths().paths`.
|
|
19
19
|
*
|
|
@@ -27,7 +27,7 @@ declare function matchRoutePatternWithOptionalDynamicSegments(pathParts: readonl
|
|
|
27
27
|
* `typeof entry === 'string'` branch around line 89, and the object
|
|
28
28
|
* branch around line 132)
|
|
29
29
|
*/
|
|
30
|
-
type StaticPathsEntry = string | {
|
|
30
|
+
export type StaticPathsEntry = string | {
|
|
31
31
|
params?: RoutePatternParams;
|
|
32
32
|
locale?: string;
|
|
33
33
|
} | null | undefined;
|
|
@@ -48,7 +48,7 @@ type NormalizedStaticPathsEntry = {
|
|
|
48
48
|
* both the build-time prerender and the request-time matchers normalize the
|
|
49
49
|
* same way.
|
|
50
50
|
*/
|
|
51
|
-
declare function normalizeStaticPathname(pathname: string): string;
|
|
51
|
+
export declare function normalizeStaticPathname(pathname: string): string;
|
|
52
52
|
/**
|
|
53
53
|
* Normalize a single `getStaticPaths` entry into a `{ params }` object.
|
|
54
54
|
*
|
|
@@ -67,6 +67,5 @@ declare function normalizeStaticPathname(pathname: string): string;
|
|
|
67
67
|
* string entries are not produced. If/when i18n is wired through prerender,
|
|
68
68
|
* locale handling should be added here, not duplicated at call sites.
|
|
69
69
|
*/
|
|
70
|
-
declare function normalizeStaticPathsEntry(entry: StaticPathsEntry, routePattern: string): NormalizedStaticPathsEntry;
|
|
71
|
-
//#endregion
|
|
72
|
-
export { RoutePatternParams, StaticPathsEntry, extractRawRoutePatternParams, fillRoutePatternSegments, matchRoutePattern, matchRoutePatternPrefix, matchRoutePatternRaw, matchRoutePatternWithOptionalDynamicSegments, normalizeStaticPathname, normalizeStaticPathsEntry, routePattern, routePatternParts };
|
|
70
|
+
export declare function normalizeStaticPathsEntry(entry: StaticPathsEntry, routePattern: string): NormalizedStaticPathsEntry;
|
|
71
|
+
//#endregion
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* Backtracking via recursive DFS ensures that dead-end static/dynamic
|
|
13
13
|
* branches fall through to catch-all alternatives.
|
|
14
14
|
*/
|
|
15
|
-
type TrieNode<R> = {
|
|
15
|
+
export type TrieNode<R> = {
|
|
16
16
|
staticChildren: Map<string, TrieNode<R>>;
|
|
17
17
|
dynamicChild: {
|
|
18
18
|
paramName: string;
|
|
@@ -41,7 +41,7 @@ type TrieNode<R> = {
|
|
|
41
41
|
* First route to claim a terminal position wins (routes are pre-sorted
|
|
42
42
|
* by precedence, so insertion order preserves correct priority).
|
|
43
43
|
*/
|
|
44
|
-
declare function buildRouteTrie<R extends {
|
|
44
|
+
export declare function buildRouteTrie<R extends {
|
|
45
45
|
patternParts: string[];
|
|
46
46
|
}>(routes: R[]): TrieNode<R>;
|
|
47
47
|
/**
|
|
@@ -59,13 +59,12 @@ declare function buildRouteTrie<R extends {
|
|
|
59
59
|
* @param urlParts - Pre-split URL segments (no empty strings)
|
|
60
60
|
* @returns Match result with route and extracted params, or null
|
|
61
61
|
*/
|
|
62
|
-
declare function trieMatch<R>(root: TrieNode<R>, urlParts: string[]): {
|
|
62
|
+
export declare function trieMatch<R>(root: TrieNode<R>, urlParts: string[]): {
|
|
63
63
|
route: R;
|
|
64
64
|
params: Record<string, string | string[]>;
|
|
65
65
|
} | null;
|
|
66
|
-
declare function trieMatchRaw<R>(root: TrieNode<R>, urlParts: string[]): {
|
|
66
|
+
export declare function trieMatchRaw<R>(root: TrieNode<R>, urlParts: string[]): {
|
|
67
67
|
route: R;
|
|
68
68
|
params: Record<string, string | string[]>;
|
|
69
69
|
} | null;
|
|
70
|
-
//#endregion
|
|
71
|
-
export { TrieNode, buildRouteTrie, trieMatch, trieMatchRaw };
|
|
70
|
+
//#endregion
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* Source:
|
|
5
5
|
* https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/router/utils/sorted-routes.ts
|
|
6
6
|
*/
|
|
7
|
-
declare function patternToNextFormat(pattern: string): string;
|
|
8
|
-
declare function validateRoutePatterns(patterns: readonly string[]): void;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { patternToNextFormat, validateRoutePatterns };
|
|
7
|
+
export declare function patternToNextFormat(pattern: string): string;
|
|
8
|
+
export declare function validateRoutePatterns(patterns: readonly string[]): void;
|
|
9
|
+
//#endregion
|
|
@@ -43,18 +43,19 @@ var UrlNode = class UrlNode {
|
|
|
43
43
|
}
|
|
44
44
|
slugNames.push(nextSlug);
|
|
45
45
|
};
|
|
46
|
-
if (isCatchAll)
|
|
47
|
-
if (
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
if (isCatchAll) {
|
|
47
|
+
if (isOptional) {
|
|
48
|
+
if (this.restSlugName !== null) throw new Error(`You cannot use both an required and optional catch-all route at the same level ("[...${this.restSlugName}]" and "${urlPaths[0]}" ).`);
|
|
49
|
+
handleSlug(this.optionalRestSlugName, segmentName);
|
|
50
|
+
this.optionalRestSlugName = segmentName;
|
|
51
|
+
nextSegment = "[[...]]";
|
|
52
|
+
} else {
|
|
53
|
+
if (this.optionalRestSlugName !== null) throw new Error(`You cannot use both an optional and required catch-all route at the same level ("[[...${this.optionalRestSlugName}]]" and "${urlPaths[0]}").`);
|
|
54
|
+
handleSlug(this.restSlugName, segmentName);
|
|
55
|
+
this.restSlugName = segmentName;
|
|
56
|
+
nextSegment = "[...]";
|
|
57
|
+
}
|
|
51
58
|
} else {
|
|
52
|
-
if (this.optionalRestSlugName !== null) throw new Error(`You cannot use both an optional and required catch-all route at the same level ("[[...${this.optionalRestSlugName}]]" and "${urlPaths[0]}").`);
|
|
53
|
-
handleSlug(this.restSlugName, segmentName);
|
|
54
|
-
this.restSlugName = segmentName;
|
|
55
|
-
nextSegment = "[...]";
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
59
|
if (isOptional) throw new Error(`Optional route parameters are not yet supported ("${urlPaths[0]}").`);
|
|
59
60
|
handleSlug(this.slugName, segmentName);
|
|
60
61
|
this.slugName = segmentName;
|
package/dist/routing/utils.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* Usage: sortRoutes(routes)
|
|
14
14
|
*/
|
|
15
|
-
declare function sortRoutes<T extends {
|
|
15
|
+
export declare function sortRoutes<T extends {
|
|
16
16
|
pattern: string;
|
|
17
17
|
}>(routes: T[]): T[];
|
|
18
18
|
/**
|
|
@@ -36,23 +36,23 @@ declare function sortRoutes<T extends {
|
|
|
36
36
|
* compareHybridRoutePatterns("/:path+", true, "/dashboard", false) // → "app"
|
|
37
37
|
* compareHybridRoutePatterns("/", false, "/", false) // → "app"
|
|
38
38
|
*/
|
|
39
|
-
declare function compareHybridRoutePatterns(pagesPattern: string, pagesIsDynamic: boolean, appPattern: string, appIsDynamic: boolean): "app" | "pages";
|
|
39
|
+
export declare function compareHybridRoutePatterns(pagesPattern: string, pagesIsDynamic: boolean, appPattern: string, appIsDynamic: boolean): "app" | "pages";
|
|
40
40
|
/**
|
|
41
41
|
* Decode a filesystem or URL path segment while preserving encoded path delimiters.
|
|
42
42
|
* Mirrors Next.js segment-wise decoding so "%5F" becomes "_" but "%2F" stays "%2F".
|
|
43
43
|
*/
|
|
44
|
-
declare function decodeRouteSegment(segment: string): string;
|
|
44
|
+
export declare function decodeRouteSegment(segment: string): string;
|
|
45
45
|
/**
|
|
46
46
|
* Normalize a pathname for route matching by decoding each segment independently.
|
|
47
47
|
* This prevents encoded slashes from turning into real path separators.
|
|
48
48
|
*/
|
|
49
|
-
declare function normalizePathnameForRouteMatch(pathname: string): string;
|
|
50
|
-
declare function splitPathnameForRouteMatch(pathname: string): string[];
|
|
49
|
+
export declare function normalizePathnameForRouteMatch(pathname: string): string;
|
|
50
|
+
export declare function splitPathnameForRouteMatch(pathname: string): string[];
|
|
51
51
|
/**
|
|
52
52
|
* Strict pathname normalization for live request handling.
|
|
53
53
|
* Throws on malformed percent-encoding so callers can return 400.
|
|
54
54
|
*/
|
|
55
|
-
declare function normalizePathnameForRouteMatchStrict(pathname: string): string;
|
|
55
|
+
export declare function normalizePathnameForRouteMatchStrict(pathname: string): string;
|
|
56
56
|
/**
|
|
57
57
|
* Build a params object from ordered entries, preserving insertion order.
|
|
58
58
|
*
|
|
@@ -62,34 +62,33 @@ declare function normalizePathnameForRouteMatchStrict(pathname: string): string;
|
|
|
62
62
|
*
|
|
63
63
|
* @param entries - Ordered [paramName, value] tuples from forward traversal
|
|
64
64
|
*/
|
|
65
|
-
declare function buildParams(entries: Array<[string, string | string[]]>): Record<string, string | string[]>;
|
|
65
|
+
export declare function buildParams(entries: Array<[string, string | string[]]>): Record<string, string | string[]>;
|
|
66
66
|
/**
|
|
67
67
|
* Decode captured route params with `decodeURIComponent`, mirroring Next.js
|
|
68
68
|
* route-matcher.ts:25-27. Mutates the params object in place. Catch-all
|
|
69
69
|
* arrays are decoded element-wise. Malformed escapes are preserved (the
|
|
70
70
|
* strict normalization layer rejects them at the request boundary).
|
|
71
71
|
*/
|
|
72
|
-
declare function decodeMatchedParams(params: Record<string, string | string[]>): void;
|
|
72
|
+
export declare function decodeMatchedParams(params: Record<string, string | string[]>): void;
|
|
73
73
|
/**
|
|
74
74
|
* Check whether a path segment is invisible in the URL (route groups, parallel
|
|
75
75
|
* slots, "."). Single source of truth shared by the route graph (Node) and
|
|
76
76
|
* browser-side bfcache identity logic. Lives in this browser-safe utils module
|
|
77
77
|
* so importing it does not drag node:path/node:fs into the client bundle.
|
|
78
78
|
*/
|
|
79
|
-
declare function isInvisibleSegment(segment: string): boolean;
|
|
79
|
+
export declare function isInvisibleSegment(segment: string): boolean;
|
|
80
80
|
/** Split a pathname into its non-empty segments without decoding. */
|
|
81
|
-
declare function splitPathSegments(pathname: string): string[];
|
|
81
|
+
export declare function splitPathSegments(pathname: string): string[];
|
|
82
82
|
/**
|
|
83
83
|
* Catch-all filesystem segment, e.g. `[...slug]`. Browser-safe predicate shared
|
|
84
84
|
* with the route graph's segment parsing (dynamicParamNameFromSegment) so the
|
|
85
85
|
* bracket conventions live in one place. The length guard rejects empty names
|
|
86
86
|
* (`[...]`).
|
|
87
87
|
*/
|
|
88
|
-
declare function isCatchAllSegment(segment: string): boolean;
|
|
88
|
+
export declare function isCatchAllSegment(segment: string): boolean;
|
|
89
89
|
/**
|
|
90
90
|
* Optional-catch-all filesystem segment, e.g. `[[...slug]]`. Unlike a catch-all,
|
|
91
91
|
* this matches zero or more URL segments.
|
|
92
92
|
*/
|
|
93
|
-
declare function isOptionalCatchAllSegment(segment: string): boolean;
|
|
94
|
-
//#endregion
|
|
95
|
-
export { buildParams, compareHybridRoutePatterns, decodeMatchedParams, decodeRouteSegment, isCatchAllSegment, isInvisibleSegment, isOptionalCatchAllSegment, normalizePathnameForRouteMatch, normalizePathnameForRouteMatchStrict, sortRoutes, splitPathSegments, splitPathnameForRouteMatch };
|
|
93
|
+
export declare function isOptionalCatchAllSegment(segment: string): boolean;
|
|
94
|
+
//#endregion
|
|
@@ -1,27 +1,26 @@
|
|
|
1
1
|
import { IncomingMessage } from "node:http";
|
|
2
2
|
//#region src/server/accept-encoding.d.ts
|
|
3
3
|
type ContentEncoding = "zstd" | "br" | "gzip" | "deflate";
|
|
4
|
-
type NegotiatedEncoding = ContentEncoding | "identity";
|
|
4
|
+
export type NegotiatedEncoding = ContentEncoding | "identity";
|
|
5
5
|
/** Parsed explicit coding qualities plus the wildcard quality, when present. */
|
|
6
|
-
type ParsedAcceptEncoding = {
|
|
6
|
+
export type ParsedAcceptEncoding = {
|
|
7
7
|
qualities: Map<string, number>;
|
|
8
8
|
orders: Map<string, number>;
|
|
9
9
|
wildcardQuality: number | null;
|
|
10
10
|
};
|
|
11
11
|
/** Parse an Accept-Encoding header into exact-token numeric qualities. */
|
|
12
|
-
declare function parseAcceptedEncodings(accept: string): ParsedAcceptEncoding;
|
|
12
|
+
export declare function parseAcceptedEncodings(accept: string): ParsedAcceptEncoding;
|
|
13
13
|
/** Return the effective quality for a coding, including wildcard/identity rules. */
|
|
14
|
-
declare function getEncodingQuality(parsed: ParsedAcceptEncoding, encoding: string): number;
|
|
14
|
+
export declare function getEncodingQuality(parsed: ParsedAcceptEncoding, encoding: string): number;
|
|
15
15
|
/** Choose the highest-quality available coding, using array order as the tie-breaker. */
|
|
16
|
-
declare function selectAcceptedEncoding<T extends string>(parsed: ParsedAcceptEncoding, available: readonly T[]): T | null;
|
|
16
|
+
export declare function selectAcceptedEncoding<T extends string>(parsed: ParsedAcceptEncoding, available: readonly T[]): T | null;
|
|
17
17
|
/**
|
|
18
18
|
* Select a content coding while matching Next.js's compression middleware:
|
|
19
19
|
* an explicit identity preference can win, but implicit identity remains a
|
|
20
20
|
* fallback rather than suppressing an otherwise acceptable encoding.
|
|
21
21
|
*/
|
|
22
|
-
declare function selectContentEncoding<T extends ContentEncoding>(parsed: ParsedAcceptEncoding, available: readonly T[]): T | "identity";
|
|
23
|
-
declare const HAS_ZSTD: boolean;
|
|
22
|
+
export declare function selectContentEncoding<T extends ContentEncoding>(parsed: ParsedAcceptEncoding, available: readonly T[]): T | "identity";
|
|
23
|
+
export declare const HAS_ZSTD: boolean;
|
|
24
24
|
/** Select by client q-value first, then zstd > br > gzip > deflate > identity. */
|
|
25
|
-
declare function negotiateEncoding(req: IncomingMessage): NegotiatedEncoding;
|
|
26
|
-
//#endregion
|
|
27
|
-
export { HAS_ZSTD, NegotiatedEncoding, ParsedAcceptEncoding, getEncodingQuality, negotiateEncoding, parseAcceptedEncodings, selectAcceptedEncoding, selectContentEncoding };
|
|
25
|
+
export declare function negotiateEncoding(req: IncomingMessage): NegotiatedEncoding;
|
|
26
|
+
//#endregion
|
|
@@ -7,12 +7,11 @@ import { IncomingMessage, ServerResponse } from "node:http";
|
|
|
7
7
|
* Handle an API route request.
|
|
8
8
|
* Returns true if the request was handled, false if no API route matched.
|
|
9
9
|
*/
|
|
10
|
-
declare function handleApiRoute(runner: ModuleImporter, req: IncomingMessage, res: ServerResponse, url: string, apiRoutes: Route[], nextConfig?: {
|
|
10
|
+
export declare function handleApiRoute(runner: ModuleImporter, req: IncomingMessage, res: ServerResponse, url: string, apiRoutes: Route[], nextConfig?: {
|
|
11
11
|
basePath?: string;
|
|
12
12
|
i18n?: NextI18nConfig | null;
|
|
13
13
|
trustedRevalidateOrigin?: string;
|
|
14
14
|
allowedRevalidateHeaderKeys?: readonly string[];
|
|
15
15
|
trailingSlash?: boolean;
|
|
16
16
|
}): Promise<boolean>;
|
|
17
|
-
//#endregion
|
|
18
|
-
export { handleApiRoute };
|
|
17
|
+
//#endregion
|
|
@@ -4,6 +4,7 @@ import "./server-globals.js";
|
|
|
4
4
|
import { NextRequest } from "../shims/server.js";
|
|
5
5
|
import { importModule, reportRequestError } from "./instrumentation.js";
|
|
6
6
|
import { mergeRouteParamsIntoQuery, parseQueryString, urlQueryToSearchParams } from "../utils/query.js";
|
|
7
|
+
import { tracePagesApiHandler } from "./pages-execution-tracing.js";
|
|
7
8
|
import { DEFAULT_PAGES_API_BODY_SIZE_LIMIT, resolveBodyParserConfig } from "./pages-body-parser-config.js";
|
|
8
9
|
import { PagesBodyParseError, getMediaType, isJsonMediaType } from "./pages-media-type.js";
|
|
9
10
|
import { resolveRequestHost, resolveRequestProtocol } from "./proxy-trust.js";
|
|
@@ -100,7 +101,8 @@ function createEdgeApiRequest(req, url, params, nextConfig) {
|
|
|
100
101
|
const requestUrl = new URL(req.url ?? url, `${proto}://${host}`);
|
|
101
102
|
const basePath = nextConfig?.basePath;
|
|
102
103
|
if (basePath && !hasBasePath(requestUrl.pathname, basePath)) requestUrl.pathname = `${basePath}${requestUrl.pathname}`;
|
|
103
|
-
|
|
104
|
+
const query = mergeRouteParamsIntoQuery(parseQueryString(url), params);
|
|
105
|
+
requestUrl.search = urlQueryToSearchParams(query).toString();
|
|
104
106
|
const body = readEdgeRequestBody(req);
|
|
105
107
|
const init = {
|
|
106
108
|
headers,
|
|
@@ -227,7 +229,7 @@ async function handleApiRoute(runner, req, res, url, apiRoutes, nextConfig) {
|
|
|
227
229
|
i18n: nextConfig.i18n ?? void 0,
|
|
228
230
|
trailingSlash: nextConfig.trailingSlash
|
|
229
231
|
} } : void 0);
|
|
230
|
-
const handlerResponse = await apiModule.default(nextRequest);
|
|
232
|
+
const handlerResponse = await tracePagesApiHandler(route.pattern, () => apiModule.default(nextRequest));
|
|
231
233
|
if (!(handlerResponse instanceof Response)) throw new Error("Edge API route did not return a Response");
|
|
232
234
|
const response = finalizeEdgeApiResponse(handlerResponse, "node");
|
|
233
235
|
res.statusCode = response.status;
|
|
@@ -250,7 +252,7 @@ async function handleApiRoute(runner, req, res, url, apiRoutes, nextConfig) {
|
|
|
250
252
|
const query = mergeRouteParamsIntoQuery(parseQueryString(url), params);
|
|
251
253
|
const bodyParserConfig = resolveBodyParserConfig(apiModule.config);
|
|
252
254
|
const { apiReq, apiRes } = enhanceApiObjects(req, res, query, bodyParserConfig.enabled ? await parseBody(req, bodyParserConfig.sizeLimit) : void 0, nextConfig?.trustedRevalidateOrigin, nextConfig?.allowedRevalidateHeaderKeys, true);
|
|
253
|
-
await handler(apiReq, apiRes);
|
|
255
|
+
await tracePagesApiHandler(route.pattern, () => handler(apiReq, apiRes));
|
|
254
256
|
return true;
|
|
255
257
|
} catch (e) {
|
|
256
258
|
if (e instanceof PagesBodyParseError) {
|
|
@@ -260,14 +262,15 @@ async function handleApiRoute(runner, req, res, url, apiRoutes, nextConfig) {
|
|
|
260
262
|
return true;
|
|
261
263
|
}
|
|
262
264
|
console.error(e);
|
|
263
|
-
reportRequestError(e
|
|
265
|
+
await reportRequestError(e, {
|
|
264
266
|
path: url,
|
|
265
267
|
method: req.method ?? "GET",
|
|
266
|
-
headers: Object.fromEntries(Object.entries(req.headers).filter(([k]) => !k.startsWith(":"))
|
|
268
|
+
headers: Object.fromEntries(Object.entries(req.headers).filter(([k]) => !k.startsWith(":")))
|
|
267
269
|
}, {
|
|
268
270
|
routerKind: "Pages Router",
|
|
269
271
|
routePath: match.route.pattern,
|
|
270
|
-
routeType: "route"
|
|
272
|
+
routeType: "route",
|
|
273
|
+
revalidateReason: void 0
|
|
271
274
|
});
|
|
272
275
|
if (!res.headersSent) {
|
|
273
276
|
res.statusCode = 500;
|
|
@@ -12,7 +12,6 @@ type ForwardServerActionOptions = {
|
|
|
12
12
|
middlewareContext: AppMiddlewareContext;
|
|
13
13
|
request: Request;
|
|
14
14
|
};
|
|
15
|
-
declare function areServerActionsOwnedByRoute(actionOwners: ActionOwnerManifest | null, actionIds: readonly string[], currentRoutePattern: string | null): boolean;
|
|
16
|
-
declare function forwardServerActionIfNeeded(options: ForwardServerActionOptions): Promise<Response | null>;
|
|
17
|
-
//#endregion
|
|
18
|
-
export { areServerActionsOwnedByRoute, forwardServerActionIfNeeded };
|
|
15
|
+
export declare function areServerActionsOwnedByRoute(actionOwners: ActionOwnerManifest | null, actionIds: readonly string[], currentRoutePattern: string | null): boolean;
|
|
16
|
+
export declare function forwardServerActionIfNeeded(options: ForwardServerActionOptions): Promise<Response | null>;
|
|
17
|
+
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { buildRequestHeadersFromMiddlewareResponse } from "../utils/middleware-request-headers.js";
|
|
1
2
|
import { patternToNextFormat } from "../routing/route-validation.js";
|
|
2
3
|
import "./headers.js";
|
|
3
|
-
import { buildRequestHeadersFromMiddlewareResponse } from "../utils/middleware-request-headers.js";
|
|
4
4
|
import { RequestCookies, ResponseCookies } from "../shims/server.js";
|
|
5
5
|
import { attachRequestCfMetadata, processMiddlewareHeaders, validateCsrfOrigin } from "./request-pipeline.js";
|
|
6
6
|
import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
//#region src/server/app-action-request.d.ts
|
|
2
|
-
declare function isPossibleAppRouteActionRequest(request: Pick<Request, "headers" | "method">): boolean;
|
|
3
|
-
//#endregion
|
|
4
|
-
export { isPossibleAppRouteActionRequest };
|
|
2
|
+
export declare function isPossibleAppRouteActionRequest(request: Pick<Request, "headers" | "method">): boolean;
|
|
3
|
+
//#endregion
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
//#region src/server/app-bfcache-id.d.ts
|
|
2
|
-
declare const INITIAL_BFCACHE_ID = "0";
|
|
3
|
-
declare const PUBLIC_INITIAL_BFCACHE_ID = "_b_0_";
|
|
4
|
-
//#endregion
|
|
5
|
-
export { INITIAL_BFCACHE_ID, PUBLIC_INITIAL_BFCACHE_ID };
|
|
2
|
+
export declare const INITIAL_BFCACHE_ID = "0";
|
|
3
|
+
export declare const PUBLIC_INITIAL_BFCACHE_ID = "_b_0_";
|
|
4
|
+
//#endregion
|
|
@@ -3,33 +3,32 @@ import { AppElements, AppElementsWire } from "./app-elements-wire.js";
|
|
|
3
3
|
import "./app-elements.js";
|
|
4
4
|
import { BfcacheIdMap } from "./app-history-state.js";
|
|
5
5
|
//#region src/server/app-bfcache-identity.d.ts
|
|
6
|
-
type BfcacheSegmentIdentityMap = Readonly<Record<string, BfcacheSegmentIdentity>>;
|
|
7
|
-
type InitialBfcacheMaps = Readonly<{
|
|
6
|
+
export type BfcacheSegmentIdentityMap = Readonly<Record<string, BfcacheSegmentIdentity>>;
|
|
7
|
+
export type InitialBfcacheMaps = Readonly<{
|
|
8
8
|
bfcacheIds: BfcacheIdMap;
|
|
9
9
|
identities: BfcacheSegmentIdentityMap;
|
|
10
10
|
}>;
|
|
11
11
|
type AppElementsMetadata = ReturnType<typeof AppElementsWire.readMetadata>;
|
|
12
|
-
declare function createInitialBfcacheIdMap(elements: AppElements): BfcacheIdMap;
|
|
13
|
-
declare function createBfcacheSegmentIdentityMap(options: {
|
|
12
|
+
export declare function createInitialBfcacheIdMap(elements: AppElements): BfcacheIdMap;
|
|
13
|
+
export declare function createBfcacheSegmentIdentityMap(options: {
|
|
14
14
|
elements: AppElements;
|
|
15
15
|
}): BfcacheSegmentIdentityMap;
|
|
16
|
-
declare function createInitialBfcacheMaps(options: {
|
|
16
|
+
export declare function createInitialBfcacheMaps(options: {
|
|
17
17
|
elements: AppElements;
|
|
18
18
|
metadata: AppElementsMetadata;
|
|
19
19
|
}): InitialBfcacheMaps;
|
|
20
|
-
declare function createNextBfcacheIdMap(options: {
|
|
20
|
+
export declare function createNextBfcacheIdMap(options: {
|
|
21
21
|
current: BfcacheIdMap;
|
|
22
22
|
currentElements: AppElements;
|
|
23
23
|
elements: AppElements;
|
|
24
24
|
restored?: BfcacheIdMap | null;
|
|
25
25
|
reuseCurrent?: boolean;
|
|
26
26
|
}): BfcacheIdMap;
|
|
27
|
-
declare function preserveBfcacheIdsForMergedElements(options: {
|
|
27
|
+
export declare function preserveBfcacheIdsForMergedElements(options: {
|
|
28
28
|
elements: AppElements;
|
|
29
29
|
next: BfcacheIdMap;
|
|
30
30
|
previous: BfcacheIdMap;
|
|
31
31
|
preservedElementIds?: readonly string[];
|
|
32
32
|
preservePreviousIds?: readonly string[];
|
|
33
33
|
}): BfcacheIdMap;
|
|
34
|
-
//#endregion
|
|
35
|
-
export { BfcacheSegmentIdentityMap, InitialBfcacheMaps, createBfcacheSegmentIdentityMap, createInitialBfcacheIdMap, createInitialBfcacheMaps, createNextBfcacheIdMap, preserveBfcacheIdsForMergedElements };
|
|
34
|
+
//#endregion
|