vinext 1.2.1 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -9
- package/dist/_virtual/_rolldown/runtime.js +1 -1
- package/dist/build/action-owner-manifest.d.ts +3 -2
- package/dist/build/action-owner-manifest.js +18 -2
- package/dist/build/app-page-static-eligibility.d.ts +17 -1
- package/dist/build/app-page-static-eligibility.js +80 -13
- package/dist/build/clean-output.d.ts +2 -1
- package/dist/build/client-build-config.d.ts +77 -6
- package/dist/build/client-build-config.js +176 -12
- package/dist/build/client-reference-async.d.ts +48 -0
- package/dist/build/client-reference-async.js +123 -0
- package/dist/build/client-reference-chunks.d.ts +32 -0
- package/dist/build/client-reference-chunks.js +111 -0
- package/dist/build/client-reference-groups.d.ts +171 -0
- package/dist/build/client-reference-groups.js +572 -0
- package/dist/build/css-url-assets.d.ts +2 -1
- package/dist/build/google-fonts/fallback-metrics.d.ts +2 -1
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +1 -0
- package/dist/build/google-fonts/find-font-files-in-css.js +17 -4
- package/dist/build/google-fonts/font-metadata.d.ts +2 -1
- package/dist/build/google-fonts/validate.d.ts +2 -1
- package/dist/build/inline-css.d.ts +2 -1
- package/dist/build/layout-classification.d.ts +2 -1
- package/dist/build/module-dependency-cache.d.ts +33 -1
- package/dist/build/module-dependency-cache.js +51 -1
- package/dist/build/next-client-runtime-manifests.d.ts +12 -2
- package/dist/build/next-client-runtime-manifests.js +19 -4
- package/dist/build/nitro-public-files.d.ts +24 -0
- package/dist/build/nitro-public-files.js +60 -0
- package/dist/build/pages-client-assets-module.js +1 -1
- package/dist/build/precompress.d.ts +2 -1
- package/dist/build/precompress.js +1 -1
- package/dist/build/prerender-paths.d.ts +2 -1
- package/dist/build/prerender-paths.js +5 -2
- package/dist/build/prerender-phase.d.ts +2 -1
- package/dist/build/prerender-server-pool.js +1 -1
- package/dist/build/prerender.d.ts +3 -2
- package/dist/build/prerender.js +5 -4
- package/dist/build/report.d.ts +2 -1
- package/dist/build/route-classification-injector.d.ts +2 -1
- package/dist/build/route-classification-manifest.d.ts +2 -1
- package/dist/build/run-prerender.d.ts +2 -1
- package/dist/build/server-actions-encryption-key.d.ts +24 -0
- package/dist/build/server-actions-encryption-key.js +101 -0
- package/dist/build/ssr-manifest.d.ts +3 -0
- package/dist/build/ssr-manifest.js +34 -2
- package/dist/build/standalone.d.ts +2 -1
- package/dist/cache/cache-adapters-virtual.d.ts +2 -1
- package/dist/cache.js +1 -2
- package/dist/check.d.ts +2 -1
- package/dist/check.js +4 -0
- package/dist/cli-args.d.ts +2 -1
- package/dist/cli.js +2 -0
- package/dist/client/client-redirect-matcher.js +2 -1
- package/dist/client/client-redirects.d.ts +4 -3
- package/dist/client/client-redirects.js +2 -1
- package/dist/client/client-rewrite-params.d.ts +9 -0
- package/dist/client/client-rewrite-params.js +20 -0
- package/dist/client/client-rewrites.d.ts +2 -1
- package/dist/client/dev-error-overlay-store.d.ts +2 -1
- package/dist/client/dev-error-overlay.js +2 -1
- package/dist/client/index.js +1 -2
- package/dist/client/instrumentation-client-state.js +5 -5
- package/dist/client/navigation-runtime.d.ts +28 -3
- package/dist/client/navigation-runtime.js +42 -11
- package/dist/client/pages-router-link-navigation.d.ts +2 -1
- package/dist/client/vinext-next-data.d.ts +25 -2
- package/dist/client/window-next.d.ts +2 -1
- package/dist/config/config-matchers.d.ts +27 -41
- package/dist/config/config-matchers.js +293 -270
- package/dist/config/config-source.d.ts +34 -0
- package/dist/config/config-source.js +141 -0
- package/dist/config/dotenv.d.ts +2 -1
- package/dist/config/header-params.d.ts +29 -0
- package/dist/config/header-params.js +106 -0
- package/dist/config/next-config.d.ts +20 -6
- package/dist/config/next-config.js +149 -11
- package/dist/config/tsconfig-paths.d.ts +2 -1
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/detector.js +23 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/index.js +2 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/lookup.js +25 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/bmp.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/cur.js +15 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/dds.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/gif.js +12 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/heif.js +55 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/icns.js +76 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/ico.js +39 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/index.js +46 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/j2c.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jp2.js +21 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jpg.js +71 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jxl-stream.js +42 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jxl.js +46 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/ktx.js +19 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/png.js +28 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/pnm.js +54 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/psd.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/svg.js +79 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/tga.js +15 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/tiff.js +96 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/utils.js +53 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/webp.js +45 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/utils/bit-reader.js +38 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +2 -2
- package/dist/entries/app-browser-entry.d.ts +34 -6
- package/dist/entries/app-browser-entry.js +103 -40
- package/dist/entries/app-rsc-entry.d.ts +4 -1
- package/dist/entries/app-rsc-entry.js +131 -66
- package/dist/entries/app-rsc-manifest.d.ts +12 -1
- package/dist/entries/app-rsc-manifest.js +73 -1
- package/dist/entries/app-ssr-entry.d.ts +4 -1
- package/dist/entries/app-ssr-entry.js +9 -2
- package/dist/entries/pages-client-entry.d.ts +1 -0
- package/dist/entries/pages-client-entry.js +6 -6
- package/dist/entries/pages-entry-helpers.js +1 -2
- package/dist/entries/pages-server-entry.d.ts +2 -1
- package/dist/entries/pages-server-entry.js +18 -15
- package/dist/entries/runtime-entry-module.d.ts +1 -0
- package/dist/entries/runtime-entry-module.js +4 -1
- package/dist/image/image-adapters-virtual.d.ts +2 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.js +340 -116
- package/dist/init.js +17 -0
- package/dist/plugins/client-compile-hints.d.ts +30 -0
- package/dist/plugins/client-compile-hints.js +88 -0
- package/dist/plugins/client-reference-dedup.d.ts +2 -1
- package/dist/plugins/cloudflare-dev-module-urls.d.ts +2 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -1
- package/dist/plugins/dynamic-preload-metadata.js +1 -1
- package/dist/plugins/environment.d.ts +2 -1
- package/dist/plugins/fonts.js +9 -12
- package/dist/plugins/ignore-dynamic-requests.d.ts +2 -1
- package/dist/plugins/import-meta-url.d.ts +2 -1
- package/dist/plugins/og-assets.d.ts +2 -1
- package/dist/plugins/og-assets.js +2 -3
- package/dist/plugins/optimize-imports.d.ts +27 -3
- package/dist/plugins/optimize-imports.js +106 -20
- package/dist/plugins/pages-node-externals.d.ts +2 -1
- package/dist/plugins/remove-console.d.ts +2 -1
- package/dist/plugins/require-condition-resolution.d.ts +2 -1
- package/dist/plugins/rsc-client-reference-loaders.d.ts +53 -1
- package/dist/plugins/rsc-client-reference-loaders.js +447 -27
- package/dist/plugins/rsc-client-shim-excludes.js +2 -0
- package/dist/plugins/sass.d.ts +2 -1
- package/dist/plugins/strip-server-exports.d.ts +2 -1
- package/dist/plugins/styled-jsx.d.ts +2 -1
- package/dist/plugins/transform-result.d.ts +2 -1
- package/dist/plugins/typeof-window.d.ts +2 -1
- package/dist/plugins/use-cache-callable.d.ts +5 -0
- package/dist/plugins/use-cache-callable.js +30 -8
- package/dist/plugins/worker-image-imports.d.ts +1 -0
- package/dist/plugins/worker-image-imports.js +2 -2
- package/dist/plugins/worker-use-server.d.ts +2 -1
- package/dist/routing/app-route-graph.d.ts +41 -1
- package/dist/routing/app-route-graph.js +122 -50
- package/dist/routing/browser-route-manifest.d.ts +44 -0
- package/dist/routing/browser-route-manifest.js +195 -0
- package/dist/routing/hashed-route-patterns.d.ts +4 -0
- package/dist/routing/hashed-route-patterns.js +22 -0
- package/dist/routing/optimistic-route-trie.d.ts +28 -0
- package/dist/routing/optimistic-route-trie.js +102 -0
- package/dist/routing/route-matching.d.ts +2 -1
- package/dist/routing/route-pattern.d.ts +2 -1
- package/dist/routing/route-validation.d.ts +6 -1
- package/dist/routing/route-validation.js +26 -10
- package/dist/server/accept-encoding.d.ts +2 -1
- package/dist/server/app-action-forwarding.d.ts +10 -1
- package/dist/server/app-action-forwarding.js +15 -1
- package/dist/server/app-bfcache-identity.d.ts +2 -1
- package/dist/server/app-browser-action-result.d.ts +2 -1
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -1
- package/dist/server/app-browser-entry.js +175 -64
- package/dist/server/app-browser-error.d.ts +5 -2
- package/dist/server/app-browser-error.js +7 -2
- package/dist/server/app-browser-history-controller.d.ts +2 -1
- package/dist/server/app-browser-hydration.d.ts +2 -1
- package/dist/server/app-browser-interception-context.d.ts +4 -3
- package/dist/server/app-browser-mpa-navigation.d.ts +1 -0
- package/dist/server/app-browser-mpa-navigation.js +6 -5
- package/dist/server/app-browser-navigation-controller.d.ts +17 -6
- package/dist/server/app-browser-navigation-controller.js +103 -36
- package/dist/server/app-browser-popstate.d.ts +2 -1
- package/dist/server/app-browser-rsc-redirect.d.ts +2 -1
- package/dist/server/app-browser-server-action-client.d.ts +2 -1
- package/dist/server/app-browser-state.d.ts +2 -2
- package/dist/server/app-browser-state.js +1 -1
- package/dist/server/app-browser-stream.d.ts +2 -1
- package/dist/server/app-browser-visible-commit.d.ts +6 -5
- package/dist/server/app-client-reference-manifest.d.ts +31 -0
- package/dist/server/app-client-reference-manifest.js +46 -0
- package/dist/server/app-client-reference-preloader.d.ts +45 -2
- package/dist/server/app-client-reference-preloader.js +48 -10
- package/dist/server/app-elements-wire.d.ts +2 -1
- package/dist/server/app-elements.d.ts +2 -0
- package/dist/server/app-elements.js +3 -1
- package/dist/server/app-fallback-renderer.d.ts +9 -2
- package/dist/server/app-fallback-renderer.js +6 -2
- package/dist/server/app-history-state.d.ts +2 -1
- package/dist/server/app-inline-css-client.d.ts +2 -1
- package/dist/server/app-layout-param-observation.d.ts +2 -1
- package/dist/server/app-metadata-tracing.d.ts +2 -1
- package/dist/server/app-middleware.d.ts +6 -0
- package/dist/server/app-middleware.js +8 -10
- package/dist/server/app-optimistic-routing.d.ts +26 -11
- package/dist/server/app-optimistic-routing.js +38 -96
- package/dist/server/app-page-boundary-render.d.ts +20 -2
- package/dist/server/app-page-boundary-render.js +229 -39
- package/dist/server/app-page-boundary.d.ts +34 -5
- package/dist/server/app-page-boundary.js +40 -7
- package/dist/server/app-page-cache-finalizer.d.ts +2 -1
- package/dist/server/app-page-cache-finalizer.js +1 -1
- package/dist/server/app-page-cache-render.d.ts +10 -2
- package/dist/server/app-page-cache-render.js +15 -2
- package/dist/server/app-page-cache.js +2 -2
- package/dist/server/app-page-dispatch.d.ts +34 -1
- package/dist/server/app-page-dispatch.js +165 -34
- package/dist/server/app-page-element-builder.d.ts +17 -1
- package/dist/server/app-page-element-builder.js +187 -66
- package/dist/server/app-page-execution.d.ts +28 -1
- package/dist/server/app-page-execution.js +114 -5
- package/dist/server/app-page-head.d.ts +95 -3
- package/dist/server/app-page-head.js +307 -152
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +48 -2
- package/dist/server/app-page-http-access-fallback-metadata.js +76 -1
- package/dist/server/app-page-method.d.ts +2 -1
- package/dist/server/app-page-probe.d.ts +2 -1
- package/dist/server/app-page-render-identity.d.ts +2 -1
- package/dist/server/app-page-render.d.ts +7 -1
- package/dist/server/app-page-render.js +38 -11
- package/dist/server/app-page-request.d.ts +14 -1
- package/dist/server/app-page-request.js +1 -1
- package/dist/server/app-page-route-wiring.d.ts +52 -2
- package/dist/server/app-page-route-wiring.js +197 -47
- package/dist/server/app-page-rsc-render-status.d.ts +3 -1
- package/dist/server/app-page-rsc-render-status.js +1 -0
- package/dist/server/app-page-search-params-observation.d.ts +8 -6
- package/dist/server/app-page-search-params-observation.js +16 -11
- package/dist/server/app-page-segment-plan.d.ts +2 -1
- package/dist/server/app-page-stream.d.ts +38 -1
- package/dist/server/app-page-stream.js +24 -4
- package/dist/server/app-pages-bridge.d.ts +4 -2
- package/dist/server/app-pages-bridge.js +11 -7
- package/dist/server/app-ppr-fallback-shell-render.d.ts +2 -1
- package/dist/server/app-ppr-fallback-shell.d.ts +2 -1
- package/dist/server/app-prerender-endpoints.d.ts +2 -1
- package/dist/server/app-prerender-static-params.d.ts +2 -1
- package/dist/server/app-prerender-static-params.js +3 -2
- package/dist/server/app-render-dependency.d.ts +11 -1
- package/dist/server/app-render-dependency.js +65 -6
- package/dist/server/app-request-stage-independent-entry.d.ts +2 -1
- package/dist/server/app-request-stage-independent-entry.js +2 -2
- package/dist/server/app-response-stage-entry.d.ts +2 -1
- package/dist/server/app-response-stage-entry.js +3 -3
- package/dist/server/app-route-handler-cache.d.ts +2 -1
- package/dist/server/app-route-handler-dispatch.d.ts +2 -1
- package/dist/server/app-route-handler-dispatch.js +4 -2
- package/dist/server/app-route-handler-execution.d.ts +4 -1
- package/dist/server/app-route-handler-execution.js +9 -2
- package/dist/server/app-route-handler-middleware-context.d.ts +2 -1
- package/dist/server/app-route-handler-middleware-context.js +3 -3
- package/dist/server/app-route-handler-response.d.ts +4 -2
- package/dist/server/app-route-handler-response.js +2 -2
- package/dist/server/app-route-handler-runtime.d.ts +4 -1
- package/dist/server/app-route-handler-runtime.js +20 -3
- package/dist/server/app-route-module-loader.d.ts +18 -1
- package/dist/server/app-route-module-loader.js +15 -6
- package/dist/server/app-route-tree-prefetch.d.ts +2 -1
- package/dist/server/app-route-tree.d.ts +20 -0
- package/dist/server/app-route-tree.js +18 -0
- package/dist/server/app-router-entry.js +2 -2
- package/dist/server/app-rsc-combined-handler.js +8 -1
- package/dist/server/app-rsc-error-handler.d.ts +2 -1
- package/dist/server/app-rsc-errors.d.ts +9 -1
- package/dist/server/app-rsc-errors.js +9 -2
- package/dist/server/app-rsc-handler.d.ts +6 -2
- package/dist/server/app-rsc-handler.js +152 -140
- package/dist/server/app-rsc-response-finalizer.d.ts +7 -1
- package/dist/server/app-rsc-response-finalizer.js +4 -1
- package/dist/server/app-rsc-response-stage.js +3 -1
- package/dist/server/app-rsc-route-matching.d.ts +39 -1
- package/dist/server/app-rsc-route-matching.js +25 -1
- package/dist/server/app-segment-config.d.ts +2 -1
- package/dist/server/app-segment-config.js +1 -14
- package/dist/server/app-server-action-execution.d.ts +25 -7
- package/dist/server/app-server-action-execution.js +53 -59
- package/dist/server/app-ssr-entry.d.ts +12 -0
- package/dist/server/app-ssr-entry.js +104 -48
- package/dist/server/app-ssr-error-meta.d.ts +2 -1
- package/dist/server/app-ssr-search-params-gate.d.ts +2 -1
- package/dist/server/app-ssr-stream.d.ts +29 -10
- package/dist/server/app-ssr-stream.js +311 -67
- package/dist/server/app-static-generation.d.ts +2 -1
- package/dist/server/app-streamed-client-references.d.ts +39 -0
- package/dist/server/app-streamed-client-references.js +156 -0
- package/dist/server/app-visited-response-cache.d.ts +2 -1
- package/dist/server/app-worker-stages.d.ts +2 -1
- package/dist/server/artifact-compatibility.d.ts +2 -1
- package/dist/server/bfcache-identity.d.ts +2 -1
- package/dist/server/cache-headers.d.ts +2 -1
- package/dist/server/cacheability-request.d.ts +2 -1
- package/dist/server/client-reuse-manifest.d.ts +2 -1
- package/dist/server/config-headers.d.ts +2 -1
- package/dist/server/config-headers.js +12 -3
- package/dist/server/csp.d.ts +2 -1
- package/dist/server/default-global-not-found-module.d.ts +2 -1
- package/dist/server/default-http-access-fallback-modules.d.ts +33 -0
- package/dist/server/default-http-access-fallback-modules.js +31 -0
- package/dist/server/defer-until-stream-consumed.d.ts +34 -0
- package/dist/server/defer-until-stream-consumed.js +154 -21
- package/dist/server/dev-lockfile.d.ts +32 -2
- package/dist/server/dev-lockfile.js +46 -2
- package/dist/server/dev-module-runner.d.ts +2 -1
- package/dist/server/dev-server.js +10 -3
- package/dist/server/fetch-handler.js +1 -2
- package/dist/server/file-based-metadata.d.ts +2 -1
- package/dist/server/framework-tracer.d.ts +2 -1
- package/dist/server/html.d.ts +1 -0
- package/dist/server/html.js +19 -1
- package/dist/server/http-conditional.d.ts +2 -1
- package/dist/server/http-error-responses.d.ts +2 -1
- package/dist/server/implicit-tags.d.ts +2 -1
- package/dist/server/isolate-shared-promise.d.ts +10 -0
- package/dist/server/isolate-shared-promise.js +33 -0
- package/dist/server/isr-cache.js +3 -2
- package/dist/server/metadata-route-build-data.d.ts +2 -1
- package/dist/server/metadata-route-build-data.js +1 -1
- package/dist/server/metadata-route-response.d.ts +2 -1
- package/dist/server/metadata-route-response.js +1 -1
- package/dist/server/metadata-routes.d.ts +2 -1
- package/dist/server/middleware-matcher-pattern.d.ts +0 -1
- package/dist/server/middleware-matcher-pattern.js +11 -140
- package/dist/server/middleware-matcher.js +5 -6
- package/dist/server/middleware-response-headers.d.ts +31 -0
- package/dist/server/middleware-response-headers.js +57 -1
- package/dist/server/middleware-runtime.d.ts +2 -1
- package/dist/server/middleware-runtime.js +26 -13
- package/dist/server/navigation-planner.d.ts +2 -2
- package/dist/server/navigation-trace.d.ts +2 -1
- package/dist/server/next-error-digest.d.ts +2 -1
- package/dist/server/nitro-public-files-plugin.d.ts +39 -0
- package/dist/server/nitro-public-files-plugin.js +106 -0
- package/dist/server/nitro-public-files.d.ts +22 -0
- package/dist/server/nitro-public-files.js +39 -0
- package/dist/server/opentelemetry-api.d.ts +2 -1
- package/dist/server/operation-token.d.ts +2 -1
- package/dist/server/pages-api-route.d.ts +2 -1
- package/dist/server/pages-asset-tags.d.ts +7 -1
- package/dist/server/pages-asset-tags.js +9 -2
- package/dist/server/pages-body-parser-config.d.ts +2 -1
- package/dist/server/pages-client-assets.d.ts +8 -1
- package/dist/server/pages-data-route.d.ts +2 -1
- package/dist/server/pages-document-asset-props.d.ts +2 -1
- package/dist/server/pages-document-initial-props.d.ts +2 -1
- package/dist/server/pages-execution-tracing.d.ts +2 -1
- package/dist/server/pages-execution-tracing.js +1 -1
- package/dist/server/pages-get-initial-props.d.ts +2 -1
- package/dist/server/pages-i18n.d.ts +18 -0
- package/dist/server/pages-i18n.js +18 -2
- package/dist/server/pages-node-compat.d.ts +5 -3
- package/dist/server/pages-node-compat.js +35 -16
- package/dist/server/pages-page-data.d.ts +7 -1
- package/dist/server/pages-page-data.js +35 -12
- package/dist/server/pages-page-handler.d.ts +3 -2
- package/dist/server/pages-page-handler.js +16 -7
- package/dist/server/pages-page-method.d.ts +2 -1
- package/dist/server/pages-page-response.d.ts +2 -1
- package/dist/server/pages-preview.d.ts +2 -1
- package/dist/server/pages-readiness.d.ts +2 -1
- package/dist/server/pages-request-pipeline.d.ts +8 -2
- package/dist/server/pages-request-pipeline.js +35 -40
- package/dist/server/pages-request-stage-entry.d.ts +2 -1
- package/dist/server/pages-request-stage-entry.js +16 -6
- package/dist/server/pages-response-stage-entry.d.ts +2 -1
- package/dist/server/pages-response-stage-entry.js +1 -1
- package/dist/server/pages-revalidate.js +1 -0
- package/dist/server/pages-route-data-kind.d.ts +2 -1
- package/dist/server/pages-router-entry.js +1 -1
- package/dist/server/prerender-cache-life-header.d.ts +2 -1
- package/dist/server/prerender-route-params.d.ts +2 -1
- package/dist/server/prod-server.d.ts +2 -2
- package/dist/server/prod-server.js +80 -36
- package/dist/server/proxy-trust.d.ts +6 -0
- package/dist/server/proxy-trust.js +12 -6
- package/dist/server/request-log.d.ts +2 -1
- package/dist/server/request-pipeline.d.ts +5 -0
- package/dist/server/request-pipeline.js +12 -1
- package/dist/server/request-tracing.d.ts +2 -1
- package/dist/server/request-tracing.js +1 -1
- package/dist/server/response-start-tracing.js +7 -29
- package/dist/server/rsc-render-stream.d.ts +4 -0
- package/dist/server/rsc-render-stream.js +25 -0
- package/dist/server/seed-cache.d.ts +2 -1
- package/dist/server/seed-cache.js +1 -1
- package/dist/server/server-reference-loader.js +10 -1
- package/dist/server/static-file-cache.d.ts +2 -1
- package/dist/server/static-file-cache.js +16 -3
- package/dist/server/static-layout-client-reuse-proof.d.ts +2 -1
- package/dist/server/worker-revalidation-context.d.ts +2 -1
- package/dist/server/worker-stages.d.ts +2 -1
- package/dist/server/worker-utils.js +1 -1
- package/dist/shims/app.d.ts +2 -1
- package/dist/shims/cache-callable-runtime.d.ts +2 -1
- package/dist/shims/cache-handler.d.ts +8 -3
- package/dist/shims/cache-handler.js +32 -11
- package/dist/shims/cache-request-state.d.ts +40 -3
- package/dist/shims/cache-request-state.js +70 -5
- package/dist/shims/cache-runtime.js +47 -19
- package/dist/shims/cache.d.ts +2 -2
- package/dist/shims/cache.js +17 -8
- package/dist/shims/caught-not-found-boundaries.d.ts +15 -0
- package/dist/shims/caught-not-found-boundaries.js +48 -0
- package/dist/shims/cdn-purge-routes.d.ts +25 -0
- package/dist/shims/cdn-purge-routes.js +77 -0
- package/dist/shims/client-locale.js +2 -1
- package/dist/shims/client-page-root.d.ts +2 -1
- package/dist/shims/config.d.ts +2 -1
- package/dist/shims/default-forbidden.d.ts +4 -0
- package/dist/shims/default-forbidden.js +18 -0
- package/dist/shims/default-not-found.d.ts +0 -5
- package/dist/shims/default-not-found.js +5 -41
- package/dist/shims/default-unauthorized.d.ts +4 -0
- package/dist/shims/default-unauthorized.js +18 -0
- package/dist/shims/dynamic.js +17 -4
- package/dist/shims/error-boundary.d.ts +39 -3
- package/dist/shims/error-boundary.js +31 -16
- package/dist/shims/font-google.js +1 -2
- package/dist/shims/font-utils.d.ts +3 -2
- package/dist/shims/font-utils.js +5 -3
- package/dist/shims/form.js +9 -4
- package/dist/shims/http-access-error-fallback.d.ts +7 -0
- package/dist/shims/http-access-error-fallback.js +47 -0
- package/dist/shims/image-props.d.ts +93 -0
- package/dist/shims/image-props.js +323 -0
- package/dist/shims/image.d.ts +4 -39
- package/dist/shims/image.js +4 -319
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +22 -2
- package/dist/shims/internal/app-prefetch-fetch-queue.js +71 -18
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +14 -3
- package/dist/shims/internal/app-route-prefetch-policy.js +29 -4
- package/dist/shims/internal/cache-context-accessor.d.ts +2 -1
- package/dist/shims/internal/client-reference-loader.d.ts +7 -0
- package/dist/shims/internal/client-reference-loader.js +91 -0
- package/dist/shims/internal/cookie-serialize.d.ts +2 -1
- package/dist/shims/internal/cookies.js +1 -2
- package/dist/shims/internal/headers-state.d.ts +9 -0
- package/dist/shims/internal/headers-state.js +19 -2
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -2
- package/dist/shims/internal/hybrid-client-route-owner-direct.js +31 -14
- package/dist/shims/internal/hybrid-client-route-owner.js +8 -8
- package/dist/shims/internal/interpolate-as.d.ts +2 -1
- package/dist/shims/internal/pages-data-target.d.ts +2 -1
- package/dist/shims/internal/pages-data-url.d.ts +2 -1
- package/dist/shims/internal/thenable-well-known-properties.d.ts +2 -1
- package/dist/shims/link.js +198 -53
- package/dist/shims/metadata.d.ts +32 -11
- package/dist/shims/metadata.js +88 -26
- package/dist/shims/navigation-errors.d.ts +2 -1
- package/dist/shims/navigation.d.ts +23 -3
- package/dist/shims/navigation.js +91 -25
- package/dist/shims/og.js +35 -10
- package/dist/shims/pages-router-runtime.d.ts +2 -1
- package/dist/shims/ppr-fallback-shell.d.ts +2 -1
- package/dist/shims/request-context.d.ts +13 -0
- package/dist/shims/router.js +33 -43
- package/dist/shims/server.d.ts +31 -4
- package/dist/shims/server.js +58 -10
- package/dist/shims/thenable-params.d.ts +6 -1
- package/dist/shims/thenable-params.js +11 -2
- package/dist/shims/unified-request-context.d.ts +5 -0
- package/dist/shims/unified-request-context.js +5 -3
- package/dist/typegen.d.ts +2 -1
- package/dist/utils/asset-prefix.d.ts +7 -0
- package/dist/utils/asset-prefix.js +10 -1
- package/dist/utils/client-build-manifest.d.ts +4 -1
- package/dist/utils/client-build-manifest.js +20 -6
- package/dist/utils/client-entry-manifest.d.ts +13 -0
- package/dist/utils/client-entry-manifest.js +20 -1
- package/dist/utils/client-reference-chunks.d.ts +45 -0
- package/dist/utils/client-reference-chunks.js +30 -0
- package/dist/utils/client-runtime-metadata.d.ts +10 -1
- package/dist/utils/client-runtime-metadata.js +53 -9
- package/dist/utils/compare.d.ts +9 -0
- package/dist/utils/compare.js +15 -1
- package/dist/utils/lazy-chunks.d.ts +18 -0
- package/dist/utils/lazy-chunks.js +27 -1
- package/dist/utils/manifest-paths.d.ts +14 -0
- package/dist/utils/manifest-paths.js +22 -1
- package/dist/utils/middleware-request-headers.d.ts +2 -1
- package/dist/utils/path-to-regexp.d.ts +21 -0
- package/dist/{server/middleware-path-to-regexp.js → utils/path-to-regexp.js} +14 -11
- package/dist/utils/plugin-react-version.d.ts +15 -0
- package/dist/utils/plugin-react-version.js +64 -0
- package/dist/utils/project.d.ts +2 -1
- package/dist/utils/project.js +9 -1
- package/dist/utils/public-routes.d.ts +2 -0
- package/dist/utils/public-routes.js +18 -7
- package/dist/utils/query.d.ts +2 -1
- package/dist/utils/sorted-array.d.ts +2 -1
- package/dist/utils/vite-cli-invocation.d.ts +2 -1
- package/package.json +5 -5
- package/dist/deps/.pnpm/image-size@2.0.2/deps/image-size/dist/index.js +0 -808
- package/dist/server/default-not-found-module.d.ts +0 -19
- package/dist/server/default-not-found-module.js +0 -18
- package/dist/server/middleware-path-to-regexp.d.ts +0 -13
- package/dist/server/rsc-stream-hints.d.ts +0 -21
- package/dist/server/rsc-stream-hints.js +0 -227
- package/dist/utils/regex-safety.d.ts +0 -17
- package/dist/utils/regex-safety.js +0 -789
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BrowserRouteManifest } from "../routing/browser-route-manifest.js";
|
|
2
2
|
import { AppRouterScrollIntent } from "../shims/app-router-scroll-state.js";
|
|
3
3
|
import { NavigationRuntimeVisibleCommitMode } from "../client/navigation-runtime.js";
|
|
4
4
|
import { AppElements } from "./app-elements-wire.js";
|
|
@@ -17,10 +17,14 @@ export type PendingBrowserRouterState = {
|
|
|
17
17
|
};
|
|
18
18
|
export type NavigationPayloadOutcome = "committed" | "no-commit" | "hard-navigate";
|
|
19
19
|
type HardNavigationMode = "assign" | "replace";
|
|
20
|
-
type BrowserNavigationCommitEffect =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
})
|
|
20
|
+
type BrowserNavigationCommitEffect = {
|
|
21
|
+
writeHistory(options: {
|
|
22
|
+
keepCurrentUrl: boolean;
|
|
23
|
+
}): void;
|
|
24
|
+
publish(options: {
|
|
25
|
+
releaseSnapshot: boolean;
|
|
26
|
+
}): void;
|
|
27
|
+
};
|
|
24
28
|
type BrowserNavigationCommitEffectFactory = (options: {
|
|
25
29
|
activeRoutePaths: readonly string[];
|
|
26
30
|
bfcacheIds: Readonly<Record<string, string>>;
|
|
@@ -43,8 +47,10 @@ type SameUrlServerActionLifecycleOptions = {
|
|
|
43
47
|
type BrowserNavigationControllerDeps = {
|
|
44
48
|
basePath?: string;
|
|
45
49
|
commitClientNavigationState?: typeof commitClientNavigationState;
|
|
50
|
+
navigateDocument?: (href: string, mode: HardNavigationMode) => void;
|
|
46
51
|
performHardNavigation?: (href: string, mode?: HardNavigationMode) => boolean;
|
|
47
|
-
getRouteManifest?: () =>
|
|
52
|
+
getRouteManifest?: () => BrowserRouteManifest | null;
|
|
53
|
+
loadRouteManifest?: () => Promise<boolean> | null;
|
|
48
54
|
syncHistoryStatePreviousNextUrl?: (previousNextUrl: string | null, bfcacheIds?: Readonly<Record<string, string>> | null) => void;
|
|
49
55
|
};
|
|
50
56
|
type BrowserNavigationPayloadOptions = {
|
|
@@ -80,6 +86,7 @@ type BrowserNavigationController = {
|
|
|
80
86
|
waitForBrowserRouterStateReady(): Promise<void>;
|
|
81
87
|
attachBrowserRouterState(setter: Dispatch<AppRouterState | Promise<AppRouterState>>, stateRef: BrowserRouterStateRef): () => void;
|
|
82
88
|
beginPendingBrowserRouterState(): PendingBrowserRouterState;
|
|
89
|
+
abandonPendingBrowserRouterState(pending: PendingBrowserRouterState | null | undefined): void;
|
|
83
90
|
finalizeNavigation(navId: number, pending: PendingBrowserRouterState | null | undefined): void;
|
|
84
91
|
discardPendingNavigation(visibleState: AppRouterState | null): boolean;
|
|
85
92
|
flushCommittingNavigationUrl(): void;
|
|
@@ -112,8 +119,12 @@ type BrowserNavigationController = {
|
|
|
112
119
|
renderId: number;
|
|
113
120
|
children?: ReactNode;
|
|
114
121
|
}): ReactNode;
|
|
122
|
+
NavigationHistoryCommit(this: void, { renderId }: {
|
|
123
|
+
renderId: number;
|
|
124
|
+
}): null;
|
|
115
125
|
};
|
|
116
126
|
export declare function clearHardNavigationLoopGuard(): void;
|
|
127
|
+
export declare function navigateDocumentDirectly(href: string, mode: HardNavigationMode): void;
|
|
117
128
|
export declare function createBasePathStrippedPathAndSearch(url: URL, basePath: string): string;
|
|
118
129
|
export declare function createAppBrowserNavigationController(deps?: BrowserNavigationControllerDeps): BrowserNavigationController;
|
|
119
130
|
//#endregion
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { stripBasePath } from "../utils/base-path.js";
|
|
2
|
+
import { withBasePath } from "../shims/url-utils.js";
|
|
2
3
|
import { clearAppNavigationFailureTarget, getAppNavigationFailureTarget } from "../client/app-nav-failure-handler.js";
|
|
3
4
|
import { claimAppRouterScrollIntentForCommit, clearAppRouterScrollIntent, consumeAppRouterScrollIntent } from "../shims/app-router-scroll-state.js";
|
|
4
5
|
import { resolveServerActionOperationLane, shouldScheduleRefreshForDiscardedServerAction } from "./app-browser-action-result.js";
|
|
@@ -37,7 +38,11 @@ function clearHardNavigationLoopGuard() {
|
|
|
37
38
|
window.sessionStorage.removeItem(HARD_NAVIGATION_LOOP_GUARD_KEY);
|
|
38
39
|
} catch {}
|
|
39
40
|
}
|
|
40
|
-
function
|
|
41
|
+
function navigateDocumentDirectly(href, mode) {
|
|
42
|
+
if (mode === "replace") window.location.replace(href);
|
|
43
|
+
else window.location.assign(href);
|
|
44
|
+
}
|
|
45
|
+
function performHardNavigationWithLoopGuard(href, mode = "assign", navigateDocument = navigateDocumentDirectly) {
|
|
41
46
|
const targetHref = normalizeBrowserHref(href);
|
|
42
47
|
const currentHref = normalizeBrowserHref(window.location.href);
|
|
43
48
|
if (readHardNavigationLoopGuard() === targetHref && currentHref === targetHref) {
|
|
@@ -49,8 +54,7 @@ function performHardNavigationWithLoopGuard(href, mode = "assign") {
|
|
|
49
54
|
console.error(`[vinext] Hard navigation to ${targetHref} requires a reload-loop guard, but sessionStorage is unavailable; leaving the current document in place.`);
|
|
50
55
|
return false;
|
|
51
56
|
}
|
|
52
|
-
|
|
53
|
-
else window.location.assign(href);
|
|
57
|
+
navigateDocument(href, mode);
|
|
54
58
|
return true;
|
|
55
59
|
}
|
|
56
60
|
function createBasePathStrippedPathAndSearch(url, basePath) {
|
|
@@ -69,8 +73,9 @@ function isSnapshotTargetHref(basePath, snapshot, targetHref) {
|
|
|
69
73
|
function createAppBrowserNavigationController(deps = {}) {
|
|
70
74
|
const basePath = deps.basePath ?? "";
|
|
71
75
|
const commitClientNavigationStateImpl = deps.commitClientNavigationState ?? commitClientNavigationState;
|
|
72
|
-
const performHardNavigation = deps.performHardNavigation ?? performHardNavigationWithLoopGuard;
|
|
76
|
+
const performHardNavigation = deps.performHardNavigation ?? ((href, mode) => performHardNavigationWithLoopGuard(href, mode, deps.navigateDocument));
|
|
73
77
|
const getRouteManifest = deps.getRouteManifest ?? (() => null);
|
|
78
|
+
const loadRouteManifest = deps.loadRouteManifest ?? (() => null);
|
|
74
79
|
const syncHistoryStatePreviousNextUrl = deps.syncHistoryStatePreviousNextUrl ?? (() => {});
|
|
75
80
|
let nextNavigationRenderId = 0;
|
|
76
81
|
let activeNavigationId = 0;
|
|
@@ -162,6 +167,11 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
162
167
|
pending.resolve(getBrowserRouterState());
|
|
163
168
|
if (activePendingBrowserRouterState === pending) activePendingBrowserRouterState = null;
|
|
164
169
|
}
|
|
170
|
+
function abandonPendingBrowserRouterState(pending) {
|
|
171
|
+
if (!pending || pending.settled) return;
|
|
172
|
+
pending.settled = true;
|
|
173
|
+
if (activePendingBrowserRouterState === pending) activePendingBrowserRouterState = null;
|
|
174
|
+
}
|
|
165
175
|
function finalizeNavigation(navId, pending) {
|
|
166
176
|
settlePendingBrowserRouterState(pending);
|
|
167
177
|
if (isCurrentNavigation(navId)) {
|
|
@@ -209,11 +219,11 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
209
219
|
return true;
|
|
210
220
|
}
|
|
211
221
|
/**
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
* top of the destination
|
|
222
|
+
* Publish the URL update of a navigation render React is committing right
|
|
223
|
+
* now. Its history entry is already written, but publishing normally runs in
|
|
224
|
+
* NavigationCommitSignal's layout effect, after the route's own layout
|
|
225
|
+
* effects. Called before a raw history write from such an effect, so the
|
|
226
|
+
* write is published on top of the destination's.
|
|
217
227
|
*/
|
|
218
228
|
function flushCommittingNavigationUrl() {
|
|
219
229
|
if (committingNavigationRenderId !== null) drainPrePaintEffects(committingNavigationRenderId);
|
|
@@ -224,9 +234,12 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
224
234
|
function isRetiredNavigationUrl(navId, targetHref) {
|
|
225
235
|
return retiredNavigationUrl !== null && retiredNavigationUrl.navigationId === navId && retiredNavigationUrl.href === normalizeBrowserHref(targetHref);
|
|
226
236
|
}
|
|
227
|
-
function
|
|
228
|
-
|
|
229
|
-
|
|
237
|
+
function writeNavigationRenderHistory(renderId) {
|
|
238
|
+
const effect = pendingNavigationPrePaintEffects.get(renderId);
|
|
239
|
+
const writeHistory = effect?.writeHistory;
|
|
240
|
+
if (!effect || !writeHistory) return;
|
|
241
|
+
effect.writeHistory = null;
|
|
242
|
+
writeHistory();
|
|
230
243
|
}
|
|
231
244
|
/**
|
|
232
245
|
* Run all queued pre-paint effects for renderIds up to and including the
|
|
@@ -243,8 +256,10 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
243
256
|
for (const [id, effect] of pendingNavigationPrePaintEffects) {
|
|
244
257
|
if (id > upToRenderId) continue;
|
|
245
258
|
pendingNavigationPrePaintEffects.delete(id);
|
|
246
|
-
if (id === upToRenderId)
|
|
247
|
-
|
|
259
|
+
if (id === upToRenderId) {
|
|
260
|
+
effect.writeHistory?.();
|
|
261
|
+
effect.publish();
|
|
262
|
+
} else releaseRenderSnapshot(id);
|
|
248
263
|
}
|
|
249
264
|
}
|
|
250
265
|
/**
|
|
@@ -261,7 +276,10 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
261
276
|
pendingCommit.resolve(didCommit);
|
|
262
277
|
}
|
|
263
278
|
}
|
|
264
|
-
/**
|
|
279
|
+
/**
|
|
280
|
+
* Runs when React starts committing a render, before it changes the route
|
|
281
|
+
* tree's DOM, and writes the render's history entry.
|
|
282
|
+
*/
|
|
265
283
|
function beginNavigationRenderCommit(renderId) {
|
|
266
284
|
committingNavigationRenderId = renderId;
|
|
267
285
|
const committingCommit = pendingNavigationCommits.get(renderId);
|
|
@@ -269,6 +287,7 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
269
287
|
if (committingCommit && committingOperation?.navigationCommitKind === "detached" && committingOperation.navigationId === pendingUserNavigationId) pendingUserNavigationShellHref = normalizeBrowserHref(committingCommit.targetHref);
|
|
270
288
|
else pendingUserNavigationCommitStarted = true;
|
|
271
289
|
clearCommittedNavigationFailureTargets(renderId);
|
|
290
|
+
writeNavigationRenderHistory(renderId);
|
|
272
291
|
}
|
|
273
292
|
function commitNavigationRender(renderId) {
|
|
274
293
|
committingNavigationRenderId = null;
|
|
@@ -288,7 +307,11 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
288
307
|
if (!hasBrowserRouterState()) return;
|
|
289
308
|
const currentState = getBrowserRouterState();
|
|
290
309
|
const renderId = allocateRenderId();
|
|
291
|
-
const [navigationSnapshot] = await Promise.all([
|
|
310
|
+
const [navigationSnapshot, , routeManifestLoaded] = await Promise.all([
|
|
311
|
+
pendingNavigationSnapshot,
|
|
312
|
+
nextElements,
|
|
313
|
+
loadRouteManifest()
|
|
314
|
+
]);
|
|
292
315
|
const pending = await createPendingNavigationCommit({
|
|
293
316
|
currentState,
|
|
294
317
|
nextElements,
|
|
@@ -300,19 +323,36 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
300
323
|
});
|
|
301
324
|
if (hmrUpdateId !== latestHmrUpdateId || startedDuringUserNavigation) return;
|
|
302
325
|
if (!hasBrowserRouterState()) return;
|
|
326
|
+
if (routeManifestLoaded === false) {
|
|
327
|
+
performHardNavigation(withBasePath(createSnapshotPathAndSearch(navigationSnapshot), basePath));
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
303
330
|
const approval = approveHmrVisibleCommit({
|
|
304
331
|
currentState: getBrowserRouterState(),
|
|
305
332
|
pending,
|
|
306
333
|
routeManifest: deps.getRouteManifest?.() ?? null,
|
|
307
334
|
targetHref: createSnapshotPathAndSearch(navigationSnapshot)
|
|
308
335
|
});
|
|
309
|
-
if (approval.approvedCommit)
|
|
310
|
-
|
|
336
|
+
if (approval.approvedCommit) {
|
|
337
|
+
const approvedHmrCommit = approval.approvedCommit;
|
|
338
|
+
startTransition(() => {
|
|
339
|
+
dispatchVisibleCommit(approvedHmrCommit);
|
|
340
|
+
});
|
|
341
|
+
} else if (approval.decision.disposition === "hard-navigate") performHardNavigation(createSnapshotPathAndSearch(navigationSnapshot));
|
|
311
342
|
}
|
|
312
|
-
|
|
343
|
+
/**
|
|
344
|
+
* Rendered before the route tree (see createAppRouteTree). Insertion effects
|
|
345
|
+
* run in the mutation phase, in tree order, after each component's own
|
|
346
|
+
* subtree mutations, so this one runs before React changes the route tree's
|
|
347
|
+
* DOM. An effect on NavigationCommitSignal itself would run after them.
|
|
348
|
+
*/
|
|
349
|
+
function NavigationHistoryCommit({ renderId }) {
|
|
313
350
|
useInsertionEffect(() => {
|
|
314
351
|
beginNavigationRenderCommit(renderId);
|
|
315
352
|
}, [renderId]);
|
|
353
|
+
return null;
|
|
354
|
+
}
|
|
355
|
+
function NavigationCommitSignal({ renderId, children }) {
|
|
316
356
|
useLayoutEffect(() => {
|
|
317
357
|
commitNavigationRender(renderId);
|
|
318
358
|
return () => {
|
|
@@ -321,7 +361,7 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
321
361
|
}, [renderId]);
|
|
322
362
|
return children;
|
|
323
363
|
}
|
|
324
|
-
function dispatchApprovedVisibleCommit(renderId, commit, pendingRouterState, visibleCommitMode) {
|
|
364
|
+
function dispatchApprovedVisibleCommit(renderId, commit, pendingRouterState, visibleCommitMode, republishPendingRouterState) {
|
|
325
365
|
const setter = getBrowserRouterStateSetter();
|
|
326
366
|
const pendingCommit = pendingNavigationCommits.get(renderId);
|
|
327
367
|
const captureCandidateState = (state) => {
|
|
@@ -334,7 +374,7 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
334
374
|
pendingRouterState.settled = true;
|
|
335
375
|
pendingRouterState.resolve(committedState);
|
|
336
376
|
if (activePendingBrowserRouterState === pendingRouterState) activePendingBrowserRouterState = null;
|
|
337
|
-
if (
|
|
377
|
+
if (republishPendingRouterState) startTransition(() => {
|
|
338
378
|
setter(committedState);
|
|
339
379
|
});
|
|
340
380
|
return;
|
|
@@ -351,7 +391,8 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
351
391
|
setter(committedState);
|
|
352
392
|
});
|
|
353
393
|
}
|
|
354
|
-
|
|
394
|
+
/** Calls the setter directly; the caller chooses the update's priority. */
|
|
395
|
+
function dispatchVisibleCommit(commit) {
|
|
355
396
|
getBrowserRouterStateSetter()(applyApprovedVisibleCommit(getBrowserRouterState(), commit));
|
|
356
397
|
}
|
|
357
398
|
function createRestoredHistorySnapshotCommit(options) {
|
|
@@ -408,7 +449,7 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
408
449
|
});
|
|
409
450
|
if (approval.approvedCommit === null) return false;
|
|
410
451
|
options.beforeCommit?.();
|
|
411
|
-
|
|
452
|
+
dispatchVisibleCommit(approval.approvedCommit);
|
|
412
453
|
return true;
|
|
413
454
|
}
|
|
414
455
|
function notifyDiscardedServerActionRevalidation(lifecycleOptions) {
|
|
@@ -426,13 +467,20 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
426
467
|
return false;
|
|
427
468
|
}
|
|
428
469
|
}
|
|
429
|
-
function
|
|
470
|
+
function shouldRepublishPendingRouterState(options) {
|
|
430
471
|
if (options.actionType === "traverse") return false;
|
|
431
472
|
if (options.historyUpdateMode === void 0) return false;
|
|
432
473
|
if (options.scrollIntent?.hash == null) return false;
|
|
433
474
|
return isSamePathSearchHashCommit(options.targetHref);
|
|
434
475
|
}
|
|
435
476
|
async function renderNavigationPayload(options) {
|
|
477
|
+
const routeManifestLoad = loadRouteManifest();
|
|
478
|
+
if (routeManifestLoad !== null && !await routeManifestLoad) {
|
|
479
|
+
settlePendingBrowserRouterState(options.pendingRouterState);
|
|
480
|
+
consumeAppRouterScrollIntent(options.scrollIntent ?? null);
|
|
481
|
+
if (isCurrentNavigation(options.navId)) performHardNavigation(options.targetHref, options.historyUpdateMode === "push" ? "assign" : "replace");
|
|
482
|
+
return "no-commit";
|
|
483
|
+
}
|
|
436
484
|
if (options.navId === pendingUserNavigationId) pendingUserNavigationLane = options.operationLane;
|
|
437
485
|
const renderId = allocateRenderId();
|
|
438
486
|
const failureTarget = getAppNavigationFailureTarget(options.targetHref);
|
|
@@ -486,11 +534,14 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
486
534
|
return "no-commit";
|
|
487
535
|
}
|
|
488
536
|
if (approval.decision.disposition === "hard-navigate") {
|
|
489
|
-
settlePendingBrowserRouterState(options.pendingRouterState);
|
|
490
537
|
pendingNavigationFailureTargets.delete(renderId);
|
|
491
538
|
pendingNavigationCommits.delete(renderId);
|
|
492
539
|
consumeAppRouterScrollIntent(options.scrollIntent ?? null);
|
|
493
|
-
if (performHardNavigation(options.targetHref
|
|
540
|
+
if (performHardNavigation(options.targetHref, options.historyUpdateMode === "push" ? "assign" : "replace")) {
|
|
541
|
+
abandonPendingBrowserRouterState(options.pendingRouterState);
|
|
542
|
+
return "hard-navigate";
|
|
543
|
+
}
|
|
544
|
+
settlePendingBrowserRouterState(options.pendingRouterState);
|
|
494
545
|
if (failureTarget) clearAppNavigationFailureTarget(failureTarget);
|
|
495
546
|
return "no-commit";
|
|
496
547
|
}
|
|
@@ -507,23 +558,25 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
507
558
|
previousNextUrl: approvedCommit.previousNextUrl,
|
|
508
559
|
targetHistoryIndex: options.targetHistoryIndex
|
|
509
560
|
});
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
keepCurrentUrl: isRetiredNavigationUrl(options.navId, options.targetHref)
|
|
513
|
-
|
|
514
|
-
|
|
561
|
+
pendingNavigationPrePaintEffects.set(renderId, {
|
|
562
|
+
writeHistory: () => {
|
|
563
|
+
commitEffect.writeHistory({ keepCurrentUrl: isRetiredNavigationUrl(options.navId, options.targetHref) });
|
|
564
|
+
},
|
|
565
|
+
publish: () => {
|
|
566
|
+
commitEffect.publish({ releaseSnapshot: snapshotRenderIds.delete(renderId) });
|
|
567
|
+
}
|
|
515
568
|
});
|
|
516
569
|
claimAppRouterScrollIntentForCommit(options.scrollIntent, renderId);
|
|
517
570
|
if (!isRetiredNavigationUrl(options.navId, options.targetHref)) {
|
|
518
571
|
activateNavigationSnapshot();
|
|
519
572
|
snapshotRenderIds.add(renderId);
|
|
520
573
|
}
|
|
521
|
-
dispatchApprovedVisibleCommit(renderId, approvedCommit, options.pendingRouterState,
|
|
574
|
+
dispatchApprovedVisibleCommit(renderId, approvedCommit, options.pendingRouterState, options.visibleCommitMode ?? "transition", shouldRepublishPendingRouterState(options));
|
|
522
575
|
if (options.navigationResponseCompletion) options.navigationResponseCompletion.then(() => {
|
|
523
576
|
if (!isCurrentNavigation(options.navId) || !hasBrowserRouterState()) return;
|
|
524
577
|
const committedState = pendingNavigationCommits.get(renderId)?.committedState;
|
|
525
578
|
if (!committedState) return;
|
|
526
|
-
|
|
579
|
+
startTransition(() => {
|
|
527
580
|
getBrowserRouterStateSetter()(committedState);
|
|
528
581
|
});
|
|
529
582
|
}, () => {});
|
|
@@ -542,6 +595,15 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
542
595
|
const currentState = actionInitiationState ?? getBrowserRouterState();
|
|
543
596
|
const startedNavigationId = lifecycleOptions?.startedNavigationId ?? activeNavigationId;
|
|
544
597
|
const targetHref = lifecycleOptions?.targetHref ?? window.location.href;
|
|
598
|
+
const routeManifestLoad = loadRouteManifest();
|
|
599
|
+
if (routeManifestLoad !== null && !await routeManifestLoad) {
|
|
600
|
+
if (isCurrentNavigation(startedNavigationId)) {
|
|
601
|
+
performHardNavigation(targetHref);
|
|
602
|
+
return;
|
|
603
|
+
}
|
|
604
|
+
notifyDiscardedServerActionRevalidation(lifecycleOptions);
|
|
605
|
+
return resolveSameUrlActionReturnValue(returnValue);
|
|
606
|
+
}
|
|
545
607
|
const { approvedCommit, decision, pending, trace: _navigationTrace } = await resolveAndClassifyNavigationCommit({
|
|
546
608
|
activeNavigationId,
|
|
547
609
|
currentState,
|
|
@@ -577,11 +639,14 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
577
639
|
if (latestApproval.approvedCommit) {
|
|
578
640
|
const approvedRevalidationCommit = latestApproval.approvedCommit;
|
|
579
641
|
startTransition(() => {
|
|
580
|
-
|
|
642
|
+
dispatchVisibleCommit(approvedRevalidationCommit);
|
|
581
643
|
});
|
|
582
644
|
syncHistoryStatePreviousNextUrl(approvedRevalidationCommit.previousNextUrl, approvedRevalidationCommit.action.bfcacheIds);
|
|
583
645
|
} else notifyDiscardedServerActionRevalidation(lifecycleOptions);
|
|
584
646
|
} else if (decision.disposition === "no-commit") notifyDiscardedServerActionRevalidation(lifecycleOptions);
|
|
647
|
+
return resolveSameUrlActionReturnValue(returnValue);
|
|
648
|
+
}
|
|
649
|
+
async function resolveSameUrlActionReturnValue(returnValue) {
|
|
585
650
|
if (returnValue) {
|
|
586
651
|
if (!returnValue.ok) throw await returnValue.data;
|
|
587
652
|
return returnValue.data;
|
|
@@ -609,6 +674,7 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
609
674
|
waitForBrowserRouterStateReady,
|
|
610
675
|
attachBrowserRouterState,
|
|
611
676
|
beginPendingBrowserRouterState,
|
|
677
|
+
abandonPendingBrowserRouterState,
|
|
612
678
|
finalizeNavigation,
|
|
613
679
|
discardPendingNavigation,
|
|
614
680
|
flushCommittingNavigationUrl,
|
|
@@ -620,8 +686,9 @@ function createAppBrowserNavigationController(deps = {}) {
|
|
|
620
686
|
beginNavigationRenderCommit,
|
|
621
687
|
commitNavigationRender,
|
|
622
688
|
clearCommittedNavigationFailureTargets,
|
|
623
|
-
NavigationCommitSignal
|
|
689
|
+
NavigationCommitSignal,
|
|
690
|
+
NavigationHistoryCommit
|
|
624
691
|
};
|
|
625
692
|
}
|
|
626
693
|
//#endregion
|
|
627
|
-
export { clearHardNavigationLoopGuard, createAppBrowserNavigationController, createBasePathStrippedPathAndSearch, createSnapshotPathAndSearch };
|
|
694
|
+
export { clearHardNavigationLoopGuard, createAppBrowserNavigationController, createBasePathStrippedPathAndSearch, createSnapshotPathAndSearch, navigateDocumentDirectly };
|
|
@@ -26,4 +26,5 @@ export declare function shouldCommitPopstateUrlWithoutNavigation(options: {
|
|
|
26
26
|
isSameAppRouteTarget: boolean;
|
|
27
27
|
}): boolean;
|
|
28
28
|
export declare function createPopstateRestoreHandler(deps: BrowserPopstateRestoreDeps): (event: PopStateEvent) => void;
|
|
29
|
-
//#endregion
|
|
29
|
+
//#endregion
|
|
30
|
+
export {};
|
|
@@ -30,4 +30,5 @@ export type ClientServerActionDeps = {
|
|
|
30
30
|
syncServerActionHttpFallbackHead(status: number | null): void;
|
|
31
31
|
};
|
|
32
32
|
export declare function invokeClientServerAction(id: string, args: unknown[], actionInitiation: ClientServerActionInitiation, deps: ClientServerActionDeps): Promise<unknown>;
|
|
33
|
-
//#endregion
|
|
33
|
+
//#endregion
|
|
34
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BrowserRouteManifest } from "../routing/browser-route-manifest.js";
|
|
2
2
|
import { CacheEntryReuseProof } from "./cache-proof.js";
|
|
3
3
|
import { AppElements, AppElementsInterception, AppElementsSlotBinding, LayoutFlags } from "./app-elements-wire.js";
|
|
4
4
|
import "./app-elements.js";
|
|
@@ -130,7 +130,7 @@ export declare function resolvePendingNavigationCommitDispositionDecision(option
|
|
|
130
130
|
activeNavigationId: number;
|
|
131
131
|
currentState: AppRouterState;
|
|
132
132
|
pending: PendingNavigationCommit;
|
|
133
|
-
routeManifest?:
|
|
133
|
+
routeManifest?: BrowserRouteManifest | null;
|
|
134
134
|
startedNavigationId: number;
|
|
135
135
|
targetHref?: string;
|
|
136
136
|
}): PendingNavigationCommitDispositionDecision;
|
|
@@ -7,8 +7,8 @@ import { AppElementsWire } from "./app-elements-wire.js";
|
|
|
7
7
|
import { getMountedSlotIds, getMountedSlotIdsHeader } from "./app-elements.js";
|
|
8
8
|
import { bindAppElementsRenderedSearch } from "../shims/slot.js";
|
|
9
9
|
import { createRscRequestHeaders } from "./app-rsc-cache-busting.js";
|
|
10
|
-
import { createCacheEntryReuseProof } from "./cache-proof.js";
|
|
11
10
|
import { createBfcacheSegmentIdentityMap, createInitialBfcacheIdMap, createNextBfcacheIdMap, preserveBfcacheIdsForMergedElements } from "./app-bfcache-identity.js";
|
|
11
|
+
import { createCacheEntryReuseProof } from "./cache-proof.js";
|
|
12
12
|
import { createAppOwnedHistoryState, createExternalHistoryStatePreservingMetadata, createHistoryStateWithNavigationMetadata, createHistoryStateWithPreviousNextUrl, createHistoryStateWithTreeSnapshotId, isExternalHistoryState, isHistoryStateBfcacheVersionCurrent, readHistoryStateActiveRoutePaths, readHistoryStateBfcacheIds, readHistoryStateBfcacheVersion, readHistoryStatePreviousNextUrl, readHistoryStateTraversalIndex, resolveActiveRoutePaths, resolveHistoryTraversalIntent } from "./app-history-state.js";
|
|
13
13
|
import { NavigationTraceReasonCodes, createNavigationLifecycleTraceFields, createNavigationTrace } from "./navigation-trace.js";
|
|
14
14
|
import { verifyOperationTokenForCommit } from "./operation-token.js";
|
|
@@ -21,4 +21,5 @@ export declare function chunksToReadableStream(chunks: readonly RscEmbeddedChunk
|
|
|
21
21
|
* immediately instead of polling with setTimeout.
|
|
22
22
|
*/
|
|
23
23
|
export declare function createProgressiveRscStream(): ReadableStream<Uint8Array>;
|
|
24
|
-
//#endregion
|
|
24
|
+
//#endregion
|
|
25
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BrowserRouteManifest } from "../routing/browser-route-manifest.js";
|
|
2
2
|
import { AppElements } from "./app-elements-wire.js";
|
|
3
3
|
import "./app-elements.js";
|
|
4
4
|
import { NavigationTrace } from "./navigation-trace.js";
|
|
@@ -52,14 +52,14 @@ export declare function applyApprovedVisibleCommit(state: AppRouterState, commit
|
|
|
52
52
|
export declare function approveHmrVisibleCommit(options: {
|
|
53
53
|
currentState: AppRouterState;
|
|
54
54
|
pending: PendingNavigationCommit;
|
|
55
|
-
routeManifest?:
|
|
55
|
+
routeManifest?: BrowserRouteManifest | null;
|
|
56
56
|
targetHref: string;
|
|
57
57
|
}): CommitApproval;
|
|
58
58
|
export declare function approvePendingNavigationCommit(options: {
|
|
59
59
|
activeNavigationId: number;
|
|
60
60
|
currentState: AppRouterState;
|
|
61
61
|
pending: PendingNavigationCommit;
|
|
62
|
-
routeManifest?:
|
|
62
|
+
routeManifest?: BrowserRouteManifest | null;
|
|
63
63
|
startedNavigationId: number;
|
|
64
64
|
targetHref: string;
|
|
65
65
|
}): CommitApproval;
|
|
@@ -74,9 +74,10 @@ export declare function resolveAndClassifyNavigationCommit(options: {
|
|
|
74
74
|
payloadOrigin: AppNavigationPayloadOrigin;
|
|
75
75
|
previousNextUrl?: string | null;
|
|
76
76
|
renderId: number;
|
|
77
|
-
routeManifest?:
|
|
77
|
+
routeManifest?: BrowserRouteManifest | null;
|
|
78
78
|
startedNavigationId: number;
|
|
79
79
|
targetHref: string;
|
|
80
80
|
type: "navigate" | "replace" | "traverse";
|
|
81
81
|
}): Promise<ClassifiedPendingNavigationCommit>;
|
|
82
|
-
//#endregion
|
|
82
|
+
//#endregion
|
|
83
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ClientReferenceChunks } from "../utils/client-reference-chunks.js";
|
|
2
|
+
//#region src/server/app-client-reference-manifest.d.ts
|
|
3
|
+
type ClientManifestEntry = {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
chunks: string[];
|
|
7
|
+
async?: boolean;
|
|
8
|
+
};
|
|
9
|
+
type ClientManifest = Record<string, ClientManifestEntry>;
|
|
10
|
+
/**
|
|
11
|
+
* Names the chunks each client reference loads in its Flight row, as Next.js
|
|
12
|
+
* does, so the browser loads a reference without a registry of every client
|
|
13
|
+
* reference in the app (see shims/internal/client-reference-loader.ts). Returns a
|
|
14
|
+
* function that wraps @vitejs/plugin-rsc's client manifest, which leaves the
|
|
15
|
+
* chunks empty. Without chunk data (development, or `rsc: false`) it returns
|
|
16
|
+
* the manifest unchanged.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createClientReferenceChunksManifest(referenceChunks: ClientReferenceChunks | undefined): (manifest: ClientManifest) => ClientManifest;
|
|
19
|
+
/**
|
|
20
|
+
* The SSR Flight client's consumer manifest. React's webpack binding loads the
|
|
21
|
+
* chunks a client reference's row names before requiring the reference, which
|
|
22
|
+
* only the browser can do, so SSR resolves each reference to itself without
|
|
23
|
+
* them. A null `moduleLoading` keeps React from preinitializing the chunks as
|
|
24
|
+
* classic scripts; SSR preloads them through @vitejs/plugin-rsc instead.
|
|
25
|
+
*/
|
|
26
|
+
export declare const ssrServerConsumerManifest: {
|
|
27
|
+
moduleMap: Record<string, Record<string, ClientManifestEntry>>;
|
|
28
|
+
moduleLoading: null;
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { toFlightChunks } from "../utils/client-reference-chunks.js";
|
|
2
|
+
//#region src/server/app-client-reference-manifest.ts
|
|
3
|
+
/**
|
|
4
|
+
* Names the chunks each client reference loads in its Flight row, as Next.js
|
|
5
|
+
* does, so the browser loads a reference without a registry of every client
|
|
6
|
+
* reference in the app (see shims/internal/client-reference-loader.ts). Returns a
|
|
7
|
+
* function that wraps @vitejs/plugin-rsc's client manifest, which leaves the
|
|
8
|
+
* chunks empty. Without chunk data (development, or `rsc: false`) it returns
|
|
9
|
+
* the manifest unchanged.
|
|
10
|
+
*/
|
|
11
|
+
function createClientReferenceChunksManifest(referenceChunks) {
|
|
12
|
+
if (!referenceChunks) return (manifest) => manifest;
|
|
13
|
+
const flightChunks = referenceChunks.modules.map(toFlightChunks);
|
|
14
|
+
return (manifest) => new Proxy(manifest, { get(target, id, receiver) {
|
|
15
|
+
const entry = Reflect.get(target, id, receiver);
|
|
16
|
+
if (typeof id !== "string" || !entry || typeof entry !== "object") return entry;
|
|
17
|
+
const reference = entry;
|
|
18
|
+
const index = Object.hasOwn(referenceChunks.references, reference.id) ? referenceChunks.references[reference.id] : void 0;
|
|
19
|
+
return index === void 0 ? reference : {
|
|
20
|
+
...reference,
|
|
21
|
+
chunks: flightChunks[index]
|
|
22
|
+
};
|
|
23
|
+
} });
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The SSR Flight client's consumer manifest. React's webpack binding loads the
|
|
27
|
+
* chunks a client reference's row names before requiring the reference, which
|
|
28
|
+
* only the browser can do, so SSR resolves each reference to itself without
|
|
29
|
+
* them. A null `moduleLoading` keeps React from preinitializing the chunks as
|
|
30
|
+
* classic scripts; SSR preloads them through @vitejs/plugin-rsc instead.
|
|
31
|
+
*/
|
|
32
|
+
const ssrServerConsumerManifest = {
|
|
33
|
+
moduleMap: new Proxy({}, { get(_target, id) {
|
|
34
|
+
if (typeof id !== "string") return void 0;
|
|
35
|
+
return new Proxy({}, { get(_exports, name) {
|
|
36
|
+
return typeof name === "string" ? {
|
|
37
|
+
id,
|
|
38
|
+
chunks: [],
|
|
39
|
+
name
|
|
40
|
+
} : void 0;
|
|
41
|
+
} });
|
|
42
|
+
} }),
|
|
43
|
+
moduleLoading: null
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
export { createClientReferenceChunksManifest, ssrServerConsumerManifest };
|
|
@@ -7,7 +7,50 @@ type ClientReferencePreloaderOptions = {
|
|
|
7
7
|
onPreloadError?: (id: string, error: unknown) => void;
|
|
8
8
|
};
|
|
9
9
|
type ClientReferencePreloader = {
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Load `referenceIds` in order, or every reference without them. The
|
|
12
|
+
* returned promise doesn't wait for those in `streamedIds`.
|
|
13
|
+
*/
|
|
14
|
+
preload: (referenceIds?: Iterable<string>, streamedIds?: ReadonlySet<string>) => Promise<void>;
|
|
11
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* The client references each App Router route preloads before SSR, generated
|
|
18
|
+
* by plugins/rsc-client-reference-loaders.ts from the RSC build's module graph.
|
|
19
|
+
* Each list holds indices into `references`, or for routes into `files`.
|
|
20
|
+
*/
|
|
21
|
+
export type RouteClientReferences = {
|
|
22
|
+
/** Client reference keys. */
|
|
23
|
+
references: readonly string[];
|
|
24
|
+
/** References any render may use, whatever its route. */
|
|
25
|
+
always: readonly number[];
|
|
26
|
+
/** The references each route file reaches. */
|
|
27
|
+
files: readonly (readonly number[])[];
|
|
28
|
+
/** Each route pattern's files. */
|
|
29
|
+
routes: Readonly<Record<string, readonly number[]>>;
|
|
30
|
+
/** The files of a render without a route, such as a route-miss 404. */
|
|
31
|
+
routeless: readonly number[];
|
|
32
|
+
/**
|
|
33
|
+
* References whose SSR modules evaluate asynchronously (top-level await),
|
|
34
|
+
* which a render streams instead of waiting for.
|
|
35
|
+
*/
|
|
36
|
+
async: readonly number[];
|
|
37
|
+
};
|
|
38
|
+
/** The client references a render loads, and those it streams instead of waiting for. */
|
|
39
|
+
export type RouteClientReferenceSet = {
|
|
40
|
+
/**
|
|
41
|
+
* In import order: the `always` set, then each route file's references in
|
|
42
|
+
* the order its route files render.
|
|
43
|
+
*/
|
|
44
|
+
references: string[];
|
|
45
|
+
streamed: string[];
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* The client references a render of `routePattern` preloads, or of no route
|
|
49
|
+
* when it is null, and those it streams.
|
|
50
|
+
* Undefined, meaning every reference, without a plan or a route to look up,
|
|
51
|
+
* or for a pattern the plan doesn't know.
|
|
52
|
+
*/
|
|
53
|
+
export declare function resolveRouteClientReferences(plan: RouteClientReferences | null, routePattern: string | null | undefined): RouteClientReferenceSet | undefined;
|
|
12
54
|
export declare function createClientReferencePreloader(options: ClientReferencePreloaderOptions): ClientReferencePreloader;
|
|
13
|
-
//#endregion
|
|
55
|
+
//#endregion
|
|
56
|
+
export {};
|