vinext 1.3.0 → 1.4.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 +5 -2
- package/THIRD_PARTY_LICENSES.md +47 -0
- package/dist/_virtual/_rolldown/runtime.js +4 -3
- package/dist/build/action-owner-manifest.d.ts +3 -2
- package/dist/build/action-owner-manifest.js +18 -2
- package/dist/build/app-page-static-eligibility.d.ts +17 -1
- package/dist/build/app-page-static-eligibility.js +80 -13
- package/dist/build/clean-output.d.ts +2 -1
- package/dist/build/client-build-config.d.ts +13 -3
- package/dist/build/client-build-config.js +46 -9
- package/dist/build/client-reference-async.d.ts +48 -0
- package/dist/build/client-reference-async.js +123 -0
- package/dist/build/client-reference-chunks.d.ts +32 -0
- package/dist/build/client-reference-chunks.js +111 -0
- package/dist/build/client-reference-groups.d.ts +9 -1
- package/dist/build/client-reference-groups.js +40 -2
- package/dist/build/css-url-assets.d.ts +2 -1
- package/dist/build/google-fonts/fallback-metrics.d.ts +2 -1
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +1 -0
- package/dist/build/google-fonts/find-font-files-in-css.js +17 -4
- package/dist/build/google-fonts/font-metadata.d.ts +2 -1
- package/dist/build/google-fonts/validate.d.ts +2 -1
- package/dist/build/inline-css.d.ts +2 -1
- package/dist/build/module-dependency-cache.d.ts +2 -1
- package/dist/build/next-client-runtime-manifests.d.ts +2 -1
- package/dist/build/precompress.d.ts +2 -1
- package/dist/build/precompress.js +1 -1
- package/dist/build/prerender-paths.d.ts +2 -1
- package/dist/build/prerender-phase.d.ts +2 -1
- package/dist/build/prerender-server-pool.js +1 -1
- package/dist/build/prerender.d.ts +3 -2
- package/dist/build/prerender.js +6 -5
- package/dist/build/report.d.ts +2 -15
- package/dist/build/report.js +1 -51
- package/dist/build/run-prerender.d.ts +2 -1
- package/dist/build/server-actions-encryption-key.d.ts +2 -1
- package/dist/build/ssr-manifest.js +25 -2
- package/dist/build/standalone.d.ts +2 -1
- package/dist/cache/cache-adapters-virtual.d.ts +2 -1
- package/dist/cache.js +1 -2
- package/dist/check.d.ts +2 -1
- package/dist/check.js +5 -1
- package/dist/cli-args.d.ts +2 -1
- package/dist/cli.js +5 -0
- package/dist/client/client-redirect-matcher.js +2 -1
- package/dist/client/client-redirects.d.ts +4 -3
- package/dist/client/client-redirects.js +2 -1
- package/dist/client/client-rewrites.d.ts +2 -1
- package/dist/client/dev-error-overlay-store.d.ts +2 -1
- package/dist/client/dev-error-overlay.js +1 -1
- package/dist/client/index.js +1 -2
- package/dist/client/instrumentation-client-state.js +5 -5
- package/dist/client/navigation-runtime.d.ts +16 -2
- package/dist/client/navigation-runtime.js +2 -2
- package/dist/client/pages-router-link-navigation.d.ts +2 -1
- package/dist/client/vinext-next-data.d.ts +25 -1
- package/dist/client/window-next.d.ts +2 -1
- package/dist/config/config-matchers.d.ts +12 -1
- package/dist/config/config-matchers.js +111 -16
- package/dist/config/dotenv.d.ts +2 -1
- package/dist/config/next-config.d.ts +32 -1
- package/dist/config/next-config.js +93 -5
- package/dist/config/tsconfig-paths.d.ts +2 -1
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/dbcs-codec.js +327 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/dbcs-data.js +123 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/index.js +29 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/internal.js +134 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/sbcs-codec.js +50 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/sbcs-data-generated.js +455 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/sbcs-data.js +147 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/big5-added.json.js +169 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/cp936.json.js +2584 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/cp949.json.js +2220 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/cp950.json.js +227 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/eucjp.json.js +425 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/gb18030-ranges.json.js +427 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/gbk-added.json.js +229 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/shiftjis.json.js +292 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/utf16.js +106 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/utf7.js +182 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/lib/bom-handling.js +42 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/lib/extend-node.js +147 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/lib/index.js +94 -0
- package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/lib/streams.js +95 -0
- 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/safer-buffer@2.1.2/deps/safer-buffer/safer.js +45 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +2 -2
- package/dist/entries/app-browser-entry.d.ts +20 -5
- package/dist/entries/app-browser-entry.js +79 -6
- package/dist/entries/app-rsc-entry.d.ts +2 -1
- package/dist/entries/app-rsc-entry.js +59 -60
- package/dist/entries/app-rsc-manifest.d.ts +2 -1
- package/dist/entries/app-rsc-manifest.js +56 -4
- package/dist/entries/app-ssr-entry.js +1 -0
- package/dist/entries/pages-entry-helpers.js +1 -2
- package/dist/entries/pages-server-entry.d.ts +2 -1
- package/dist/entries/pages-server-entry.js +34 -9
- package/dist/entries/runtime-entry-module.d.ts +1 -0
- package/dist/entries/runtime-entry-module.js +4 -1
- package/dist/image/image-adapters-virtual.d.ts +2 -1
- package/dist/index.js +184 -103
- package/dist/init-cloudflare.d.ts +1 -3
- package/dist/init-cloudflare.js +10 -48
- package/dist/init-platform.d.ts +2 -0
- package/dist/init-platform.js +4 -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/extensionless-dynamic-import.js +6 -2
- 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/next-intl-catalog.d.ts +12 -0
- package/dist/plugins/next-intl-catalog.js +85 -0
- package/dist/plugins/og-assets.d.ts +2 -1
- package/dist/plugins/og-assets.js +2 -3
- package/dist/plugins/optimize-imports.d.ts +2 -1
- package/dist/plugins/pages-node-externals.d.ts +3 -1
- package/dist/plugins/pages-node-externals.js +1 -1
- package/dist/plugins/remove-console.d.ts +2 -1
- package/dist/plugins/require-condition-resolution.d.ts +2 -1
- package/dist/plugins/rsc-client-reference-loaders.d.ts +8 -0
- package/dist/plugins/rsc-client-reference-loaders.js +170 -68
- package/dist/plugins/rsc-client-shim-excludes.js +2 -0
- package/dist/plugins/sass.d.ts +2 -1
- package/dist/plugins/strip-server-exports.d.ts +2 -1
- package/dist/plugins/styled-jsx.d.ts +2 -1
- package/dist/plugins/transform-result.d.ts +2 -1
- package/dist/plugins/typeof-window.d.ts +2 -1
- package/dist/plugins/use-cache-callable.d.ts +1 -1
- package/dist/plugins/use-cache-callable.js +136 -94
- package/dist/plugins/worker-image-imports.js +1 -1
- package/dist/plugins/worker-use-server.d.ts +2 -1
- package/dist/routing/app-route-graph.d.ts +46 -0
- package/dist/routing/app-route-graph.js +131 -51
- package/dist/routing/browser-route-manifest.d.ts +2 -1
- package/dist/routing/optimistic-route-trie.d.ts +2 -1
- package/dist/routing/route-matching.d.ts +2 -1
- package/dist/routing/route-pattern.d.ts +2 -1
- package/dist/server/accept-encoding.d.ts +2 -1
- package/dist/server/api-handler.js +19 -4
- package/dist/server/app-action-forwarding.d.ts +2 -1
- package/dist/server/app-bfcache-identity.d.ts +2 -1
- package/dist/server/app-bfcache-identity.js +1 -1
- package/dist/server/app-browser-action-result.d.ts +2 -1
- package/dist/server/app-browser-entry.js +106 -66
- package/dist/server/app-browser-error.d.ts +2 -1
- package/dist/server/app-browser-history-controller.d.ts +7 -5
- package/dist/server/app-browser-history-controller.js +93 -15
- package/dist/server/app-browser-hydration.d.ts +2 -1
- package/dist/server/app-browser-interception-context.d.ts +2 -1
- package/dist/server/app-browser-navigation-controller.d.ts +2 -2
- package/dist/server/app-browser-navigation-controller.js +16 -12
- 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-rsc-redirect.js +4 -4
- package/dist/server/app-browser-server-action-client.d.ts +4 -1
- package/dist/server/app-browser-server-action-client.js +4 -3
- package/dist/server/app-browser-state.d.ts +2 -4
- package/dist/server/app-browser-state.js +9 -4
- package/dist/server/app-browser-stream.d.ts +2 -1
- package/dist/server/app-browser-supplemental-refresh.js +16 -1
- package/dist/server/app-browser-visible-commit.d.ts +3 -2
- package/dist/server/app-browser-visible-commit.js +2 -12
- package/dist/server/app-client-reference-manifest.d.ts +31 -0
- package/dist/server/app-client-reference-manifest.js +46 -0
- package/dist/server/app-client-reference-preloader.d.ts +25 -5
- package/dist/server/app-client-reference-preloader.js +22 -7
- package/dist/server/app-elements-wire.d.ts +8 -39
- package/dist/server/app-elements-wire.js +4 -41
- package/dist/server/app-elements.d.ts +4 -2
- package/dist/server/app-elements.js +4 -2
- package/dist/server/app-fallback-renderer.d.ts +9 -2
- package/dist/server/app-fallback-renderer.js +4 -1
- package/dist/server/app-history-state.d.ts +4 -3
- package/dist/server/app-history-state.js +5 -2
- package/dist/server/app-inline-css-client.d.ts +2 -1
- package/dist/server/app-metadata-tracing.d.ts +2 -1
- package/dist/server/app-mounted-layouts.d.ts +21 -0
- package/dist/server/app-mounted-layouts.js +67 -0
- package/dist/server/app-optimistic-routing.d.ts +37 -2
- package/dist/server/app-optimistic-routing.js +75 -2
- package/dist/server/app-page-boundary-render.d.ts +20 -2
- package/dist/server/app-page-boundary-render.js +224 -40
- package/dist/server/app-page-boundary.d.ts +34 -5
- package/dist/server/app-page-boundary.js +41 -8
- package/dist/server/app-page-cache-finalizer.d.ts +14 -2
- package/dist/server/app-page-cache-finalizer.js +71 -30
- package/dist/server/app-page-cache-render.d.ts +10 -2
- package/dist/server/app-page-cache-render.js +14 -2
- package/dist/server/app-page-cache.d.ts +13 -1
- package/dist/server/app-page-cache.js +33 -11
- package/dist/server/app-page-dispatch.d.ts +39 -11
- package/dist/server/app-page-dispatch.js +236 -177
- package/dist/server/app-page-element-builder.d.ts +19 -3
- package/dist/server/app-page-element-builder.js +193 -71
- package/dist/server/app-page-execution.d.ts +43 -51
- package/dist/server/app-page-execution.js +205 -92
- package/dist/server/app-page-head.d.ts +108 -3
- package/dist/server/app-page-head.js +337 -154
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +49 -2
- package/dist/server/app-page-http-access-fallback-metadata.js +77 -2
- package/dist/server/app-page-layout-gate.d.ts +35 -0
- package/dist/server/app-page-layout-gate.js +50 -0
- package/dist/server/app-page-method.d.ts +2 -1
- package/dist/server/app-page-params.d.ts +0 -1
- package/dist/server/app-page-params.js +1 -14
- package/dist/server/app-page-probe.d.ts +5 -22
- package/dist/server/app-page-probe.js +4 -37
- package/dist/server/app-page-render-identity.d.ts +2 -1
- package/dist/server/app-page-render.d.ts +9 -13
- package/dist/server/app-page-render.js +108 -214
- package/dist/server/app-page-request.d.ts +15 -4
- package/dist/server/app-page-request.js +2 -2
- package/dist/server/app-page-response.js +3 -3
- package/dist/server/app-page-route-wiring.d.ts +65 -8
- package/dist/server/app-page-route-wiring.js +259 -103
- package/dist/server/app-page-rsc-render-status.d.ts +29 -2
- package/dist/server/app-page-rsc-render-status.js +121 -13
- package/dist/server/app-page-search-params-observation.d.ts +7 -2
- package/dist/server/app-page-search-params-observation.js +8 -1
- package/dist/server/app-page-segment-plan.d.ts +2 -1
- package/dist/server/app-page-stream.d.ts +33 -1
- package/dist/server/app-page-stream.js +25 -6
- package/dist/server/app-pages-bridge.d.ts +6 -1
- package/dist/server/app-pages-bridge.js +7 -3
- package/dist/server/app-ppr-fallback-shell-render.d.ts +2 -1
- package/dist/server/app-ppr-fallback-shell.d.ts +2 -1
- package/dist/server/app-prerender-endpoints.d.ts +2 -1
- package/dist/server/app-prerender-static-params.d.ts +2 -1
- package/dist/server/app-render-dependency.d.ts +21 -4
- package/dist/server/app-render-dependency.js +100 -33
- package/dist/server/app-request-stage-dispatch.js +1 -1
- package/dist/server/app-request-stage-independent-entry.d.ts +2 -1
- package/dist/server/app-response-stage-entry.d.ts +2 -1
- package/dist/server/app-route-handler-cache.d.ts +2 -1
- package/dist/server/app-route-handler-cache.js +2 -2
- package/dist/server/app-route-handler-dispatch.d.ts +2 -1
- package/dist/server/app-route-handler-dispatch.js +15 -10
- package/dist/server/app-route-handler-execution.d.ts +2 -1
- package/dist/server/app-route-handler-execution.js +8 -3
- package/dist/server/app-route-handler-policy.d.ts +1 -1
- package/dist/server/app-route-handler-policy.js +3 -3
- package/dist/server/app-route-handler-response.d.ts +2 -1
- package/dist/server/app-route-handler-response.js +1 -1
- package/dist/server/app-route-handler-runtime.d.ts +2 -1
- package/dist/server/app-route-handler-runtime.js +17 -4
- package/dist/server/app-route-module-loader.d.ts +18 -1
- package/dist/server/app-route-module-loader.js +8 -0
- package/dist/server/app-route-tree-prefetch.d.ts +2 -1
- package/dist/server/app-rsc-cache-busting.d.ts +2 -2
- package/dist/server/app-rsc-cache-busting.js +4 -4
- package/dist/server/app-rsc-error-handler.d.ts +4 -2
- package/dist/server/app-rsc-error-handler.js +9 -1
- package/dist/server/app-rsc-errors.d.ts +10 -1
- package/dist/server/app-rsc-errors.js +8 -1
- package/dist/server/app-rsc-handler.d.ts +7 -6
- package/dist/server/app-rsc-handler.js +36 -34
- package/dist/server/app-rsc-request-normalization.d.ts +0 -4
- package/dist/server/app-rsc-request-normalization.js +1 -4
- package/dist/server/app-rsc-response-finalizer.d.ts +2 -1
- package/dist/server/app-rsc-response-finalizer.js +2 -2
- package/dist/server/app-rsc-response-stage.js +5 -3
- package/dist/server/app-rsc-route-matching.d.ts +38 -1
- package/dist/server/app-rsc-route-matching.js +24 -0
- package/dist/server/app-segment-config.d.ts +2 -1
- package/dist/server/app-segment-config.js +1 -14
- package/dist/server/app-server-action-execution.d.ts +5 -2
- package/dist/server/app-server-action-execution.js +10 -7
- package/dist/server/app-ssr-entry.d.ts +8 -0
- package/dist/server/app-ssr-entry.js +98 -50
- package/dist/server/app-ssr-error-meta.d.ts +2 -1
- package/dist/server/app-ssr-search-params-gate.d.ts +2 -1
- package/dist/server/app-ssr-stream.d.ts +22 -10
- package/dist/server/app-ssr-stream.js +300 -68
- 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 +38 -2
- package/dist/server/app-visited-response-cache.js +46 -5
- package/dist/server/app-worker-stages.d.ts +27 -4
- package/dist/server/app-worker-stages.js +45 -6
- package/dist/server/artifact-compatibility.d.ts +2 -2
- package/dist/server/artifact-compatibility.js +1 -10
- package/dist/server/bfcache-identity.d.ts +2 -1
- package/dist/server/cache-headers.d.ts +2 -1
- package/dist/server/cache-proof.d.ts +1 -115
- package/dist/server/cache-proof.js +1 -544
- package/dist/server/cacheability-request.d.ts +2 -1
- package/dist/server/cacheability-request.js +13 -8
- package/dist/server/config-headers.d.ts +2 -1
- package/dist/server/csp.d.ts +2 -1
- package/dist/server/default-global-not-found-module.d.ts +2 -1
- package/dist/server/default-http-access-fallback-modules.d.ts +33 -0
- package/dist/server/default-http-access-fallback-modules.js +31 -0
- package/dist/server/defer-until-stream-consumed.d.ts +34 -0
- package/dist/server/defer-until-stream-consumed.js +154 -21
- package/dist/server/dev-lockfile.d.ts +32 -2
- package/dist/server/dev-lockfile.js +46 -2
- package/dist/server/dev-module-runner.d.ts +2 -1
- package/dist/server/dev-server.js +14 -6
- 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/headers.d.ts +6 -3
- package/dist/server/headers.js +9 -5
- 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/isr-cache.d.ts +8 -2
- package/dist/server/isr-cache.js +26 -1
- package/dist/server/metadata-route-build-data.d.ts +2 -1
- package/dist/server/metadata-route-build-data.js +1 -1
- package/dist/server/metadata-route-response.d.ts +2 -1
- package/dist/server/metadata-route-response.js +32 -15
- package/dist/server/metadata-routes.d.ts +2 -1
- package/dist/server/middleware-runtime.d.ts +2 -1
- package/dist/server/multi-stage.d.ts +52 -11
- package/dist/server/multi-stage.js +13 -1
- package/dist/server/navigation-planner.js +1 -1
- package/dist/server/navigation-trace.d.ts +2 -1
- package/dist/server/next-error-digest.d.ts +2 -1
- package/dist/server/nitro-public-files-plugin.d.ts +2 -1
- package/dist/server/nitro-public-files.d.ts +2 -1
- package/dist/server/opentelemetry-api.d.ts +2 -1
- package/dist/server/operation-token.d.ts +2 -1
- package/dist/server/pages-api-route.d.ts +2 -1
- package/dist/server/pages-api-route.js +28 -19
- package/dist/server/pages-asset-tags.d.ts +2 -1
- package/dist/server/pages-body-parser-config.d.ts +2 -1
- package/dist/server/pages-client-assets.d.ts +4 -0
- package/dist/server/pages-data-route.d.ts +2 -1
- package/dist/server/pages-document-asset-props.d.ts +2 -1
- package/dist/server/pages-document-initial-props.d.ts +2 -1
- package/dist/server/pages-execution-tracing.d.ts +2 -1
- package/dist/server/pages-execution-tracing.js +1 -1
- package/dist/server/pages-get-initial-props.d.ts +2 -1
- package/dist/server/pages-media-type.d.ts +21 -1
- package/dist/server/pages-media-type.js +69 -5
- package/dist/server/pages-node-compat.js +52 -27
- 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 +27 -27
- 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 +10 -1
- package/dist/server/pages-request-pipeline.js +6 -7
- package/dist/server/pages-request-stage-entry.d.ts +2 -1
- package/dist/server/pages-request-stage-entry.js +14 -12
- package/dist/server/pages-response-stage-entry.d.ts +2 -1
- package/dist/server/pages-response-stage-entry.js +9 -3
- package/dist/server/pages-route-data-kind.d.ts +2 -1
- package/dist/server/prerender-cache-life-header.d.ts +2 -1
- package/dist/server/prerender-route-params.d.ts +2 -1
- package/dist/server/prod-server.js +14 -4
- package/dist/server/request-log.d.ts +2 -1
- package/dist/server/request-pipeline.d.ts +6 -0
- package/dist/server/request-pipeline.js +21 -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/shared-cache-identity.d.ts +23 -0
- package/dist/server/shared-cache-identity.js +36 -0
- package/dist/server/static-file-cache.d.ts +2 -1
- package/dist/server/static-file-cache.js +1 -0
- package/dist/server/worker-revalidation-context.d.ts +2 -1
- package/dist/server/worker-stages.d.ts +18 -4
- package/dist/server/worker-stages.js +23 -4
- 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 +31 -11
- package/dist/shims/cache-request-state.d.ts +17 -20
- package/dist/shims/cache-request-state.js +16 -21
- package/dist/shims/cache-runtime.js +27 -11
- package/dist/shims/cache.d.ts +8 -7
- package/dist/shims/cache.js +17 -19
- package/dist/shims/cacheability-classification.d.ts +2 -0
- 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-cache.d.ts +22 -5
- package/dist/shims/cdn-purge-routes.d.ts +2 -1
- package/dist/shims/client-locale.js +2 -1
- package/dist/shims/client-page-root.d.ts +2 -1
- package/dist/shims/client-page-root.js +2 -2
- 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 +9 -6
- package/dist/shims/error-boundary.d.ts +39 -3
- package/dist/shims/error-boundary.js +33 -18
- package/dist/shims/fetch-cache-state.d.ts +5 -1
- package/dist/shims/fetch-cache-state.js +1 -3
- package/dist/shims/fetch-cache.d.ts +2 -1
- package/dist/shims/fetch-cache.js +34 -24
- 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 +3 -3
- package/dist/shims/headers.d.ts +8 -23
- package/dist/shims/headers.js +17 -67
- package/dist/shims/http-access-error-fallback.d.ts +7 -0
- package/dist/shims/http-access-error-fallback.js +47 -0
- package/dist/shims/image.d.ts +1 -22
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +22 -2
- package/dist/shims/internal/app-prefetch-fetch-queue.js +71 -18
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +14 -3
- package/dist/shims/internal/app-route-prefetch-policy.js +29 -4
- package/dist/shims/internal/cache-context-accessor.d.ts +2 -1
- package/dist/shims/internal/client-reference-loader.d.ts +7 -0
- package/dist/shims/internal/client-reference-loader.js +91 -0
- package/dist/shims/internal/cookie-serialize.d.ts +2 -1
- package/dist/shims/internal/cookies.js +1 -2
- package/dist/shims/internal/headers-state.d.ts +2 -0
- package/dist/shims/internal/headers-state.js +6 -1
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +2 -1
- package/dist/shims/internal/interpolate-as.d.ts +2 -1
- package/dist/shims/internal/navigation-untracked.js +1 -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 +197 -52
- package/dist/shims/metadata.d.ts +52 -29
- package/dist/shims/metadata.js +142 -42
- package/dist/shims/navigation-errors.d.ts +2 -1
- package/dist/shims/navigation-server.js +1 -1
- package/dist/shims/navigation.d.ts +95 -8
- package/dist/shims/navigation.js +255 -47
- package/dist/shims/navigation.react-server.js +2 -2
- package/dist/shims/pages-router-runtime.d.ts +2 -1
- package/dist/shims/ppr-fallback-shell.d.ts +2 -1
- package/dist/shims/request-state-types.d.ts +2 -2
- package/dist/shims/router.js +14 -3
- package/dist/shims/slot.d.ts +12 -0
- package/dist/shims/slot.js +37 -9
- package/dist/shims/unified-request-context.d.ts +1 -1
- package/dist/shims/unified-request-context.js +5 -6
- package/dist/typegen.d.ts +2 -1
- package/dist/utils/cache-control-metadata.d.ts +5 -0
- package/dist/utils/cache-control-metadata.js +9 -1
- package/dist/utils/client-build-manifest.d.ts +4 -1
- package/dist/utils/client-build-manifest.js +9 -2
- package/dist/utils/client-entry-manifest.d.ts +13 -0
- package/dist/utils/client-entry-manifest.js +20 -1
- package/dist/utils/client-reference-chunks.d.ts +45 -0
- package/dist/utils/client-reference-chunks.js +30 -0
- package/dist/utils/client-runtime-metadata.d.ts +9 -1
- package/dist/utils/client-runtime-metadata.js +40 -9
- package/dist/utils/compare.d.ts +9 -0
- package/dist/utils/compare.js +15 -1
- package/dist/utils/lazy-chunks.d.ts +14 -0
- package/dist/utils/lazy-chunks.js +27 -1
- package/dist/utils/middleware-request-headers.d.ts +2 -1
- package/dist/utils/project.d.ts +4 -3
- package/dist/utils/project.js +12 -17
- package/dist/utils/query.d.ts +2 -1
- package/dist/utils/regex.d.ts +5 -0
- package/dist/utils/regex.js +11 -1
- package/dist/utils/text-stream.d.ts +10 -5
- package/dist/utils/text-stream.js +6 -6
- package/dist/utils/vite-cli-invocation.d.ts +2 -1
- package/package.json +6 -5
- package/dist/build/layout-classification-types.d.ts +0 -60
- package/dist/build/layout-classification-types.js +0 -1
- package/dist/build/layout-classification.d.ts +0 -61
- package/dist/build/layout-classification.js +0 -98
- package/dist/build/route-classification-injector.d.ts +0 -32
- package/dist/build/route-classification-injector.js +0 -59
- package/dist/build/route-classification-manifest.d.ts +0 -53
- package/dist/build/route-classification-manifest.js +0 -143
- package/dist/deps/.pnpm/image-size@2.0.2/deps/image-size/dist/index.js +0 -808
- package/dist/server/app-browser-client-reuse-manifest.d.ts +0 -10
- package/dist/server/app-browser-client-reuse-manifest.js +0 -101
- package/dist/server/app-layout-param-observation.d.ts +0 -41
- package/dist/server/app-layout-param-observation.js +0 -168
- package/dist/server/client-reuse-manifest.d.ts +0 -102
- package/dist/server/client-reuse-manifest.js +0 -209
- package/dist/server/default-not-found-module.d.ts +0 -19
- package/dist/server/default-not-found-module.js +0 -18
- package/dist/server/rsc-stream-hints.d.ts +0 -21
- package/dist/server/rsc-stream-hints.js +0 -227
- package/dist/server/skip-cache-proof.d.ts +0 -60
- package/dist/server/skip-cache-proof.js +0 -168
- package/dist/server/static-layout-client-reuse-proof.d.ts +0 -13
- package/dist/server/static-layout-client-reuse-proof.js +0 -33
- package/dist/utils/sorted-array.d.ts +0 -7
- package/dist/utils/sorted-array.js +0 -20
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __commonJSMin } from "../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
//#region ../../node_modules/.pnpm/ua-parser-js@1.0.35/node_modules/ua-parser-js/src/ua-parser.js
|
|
3
|
-
var require_ua_parser = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
3
|
+
var require_ua_parser = /* @__PURE__ */ __commonJSMin(((exports, module, this$1) => {
|
|
4
4
|
(function(window, undefined) {
|
|
5
5
|
"use strict";
|
|
6
6
|
var LIBVERSION = "1.0.35", EMPTY = "", UNKNOWN = "?", FUNC_TYPE = "function", UNDEF_TYPE = "undefined", OBJ_TYPE = "object", STR_TYPE = "string", MAJOR = "major", MODEL = "model", NAME = "name", TYPE = "type", VENDOR = "vendor", VERSION = "version", ARCHITECTURE = "architecture", CONSOLE = "console", MOBILE = "mobile", TABLET = "tablet", SMARTTV = "smarttv", WEARABLE = "wearable", EMBEDDED = "embedded", UA_MAX_LENGTH = 350, AMAZON = "Amazon", APPLE = "Apple", ASUS = "ASUS", BLACKBERRY = "BlackBerry", BROWSER = "Browser", CHROME = "Chrome", EDGE = "Edge", FIREFOX = "Firefox", GOOGLE = "Google", HUAWEI = "Huawei", LG = "LG", MICROSOFT = "Microsoft", MOTOROLA = "Motorola", OPERA = "Opera", SAMSUNG = "Samsung", SHARP = "Sharp", SONY = "Sony", XIAOMI = "Xiaomi", ZEBRA = "Zebra", FACEBOOK = "Facebook", CHROMIUM_OS = "Chromium OS", MAC_OS = "Mac OS";
|
|
@@ -1050,7 +1050,7 @@ var require_ua_parser = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1050
1050
|
for (var prop in result) $.ua[prop] = result[prop];
|
|
1051
1051
|
};
|
|
1052
1052
|
}
|
|
1053
|
-
})(typeof window === "object" ? window :
|
|
1053
|
+
})(typeof window === "object" ? window : this$1);
|
|
1054
1054
|
}));
|
|
1055
1055
|
//#endregion
|
|
1056
1056
|
export default require_ua_parser();
|
|
@@ -13,16 +13,30 @@ export declare function generateBrowserEntry(routes?: readonly AppRoute[], pages
|
|
|
13
13
|
afterFiles: NextRewrite[];
|
|
14
14
|
beforeFiles: NextRewrite[];
|
|
15
15
|
fallback: NextRewrite[];
|
|
16
|
-
}, locales?: readonly string[]): string;
|
|
16
|
+
}, locales?: readonly string[], classifier?: AppRouteDynamicRenderClassifier): string;
|
|
17
17
|
/**
|
|
18
18
|
* App route handlers for hybrid App/Pages ownership, with their static
|
|
19
19
|
* segments hashed so the client never receives their paths in plain text.
|
|
20
20
|
*/
|
|
21
21
|
export declare function toHashedRouteHandlerRoutes(routes: readonly AppRoute[]): VinextLinkPrefetchRoute[];
|
|
22
|
+
type AppRouteIntercept = AppRoute["siblingIntercepts"][number];
|
|
23
|
+
/** Reads, at build time, which App pages Next.js renders on every request. */
|
|
24
|
+
export type AppRouteDynamicRenderClassifier = {
|
|
25
|
+
route(route: AppRoute): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* `layoutPaths` holds the layouts above the intercepting page outside its
|
|
28
|
+
* own branch: the source route's, and the slot's.
|
|
29
|
+
*/
|
|
30
|
+
intercept(intercept: AppRouteIntercept, layoutPaths: readonly string[]): boolean;
|
|
31
|
+
};
|
|
22
32
|
/** Project an `AppRoute` down to the public `VinextLinkPrefetchRoute` shape. */
|
|
23
|
-
export declare function toLinkPrefetchRoute(route: AppRoute, hasSiblingInterceptLoading?: boolean): VinextLinkPrefetchRoute;
|
|
24
|
-
/**
|
|
25
|
-
|
|
33
|
+
export declare function toLinkPrefetchRoute(route: AppRoute, hasSiblingInterceptLoading?: boolean, rendersDynamically?: boolean): VinextLinkPrefetchRoute;
|
|
34
|
+
/**
|
|
35
|
+
* Project App routes together so sibling-intercept loading is applied to its
|
|
36
|
+
* target route. `classifier` reads each route's segment config, and each
|
|
37
|
+
* intercepting page's, which applies to its target route.
|
|
38
|
+
*/
|
|
39
|
+
export declare function toLinkPrefetchRoutes(routes: readonly AppRoute[], classifier?: AppRouteDynamicRenderClassifier): VinextLinkPrefetchRoute[];
|
|
26
40
|
/**
|
|
27
41
|
* Generate the virtual module that holds the browser RouteManifest.
|
|
28
42
|
*
|
|
@@ -31,4 +45,5 @@ export declare function toLinkPrefetchRoutes(routes: readonly AppRoute[]): Vinex
|
|
|
31
45
|
* JSON string keeps the parse on V8's fast JSON path.
|
|
32
46
|
*/
|
|
33
47
|
export declare function generateBrowserRouteManifestModule(routeManifest: RouteManifest | null): string;
|
|
34
|
-
//#endregion
|
|
48
|
+
//#endregion
|
|
49
|
+
export {};
|
|
@@ -15,10 +15,10 @@ function generateBrowserEntry(routes = [], pagesPrefetchRoutes = [], rewrites =
|
|
|
15
15
|
afterFiles: [],
|
|
16
16
|
beforeFiles: [],
|
|
17
17
|
fallback: []
|
|
18
|
-
}, locales = []) {
|
|
18
|
+
}, locales = [], classifier) {
|
|
19
19
|
const entryPath = resolveRuntimeEntryModule("app-browser-entry");
|
|
20
20
|
const reactInstanceBootstrapPath = resolveClientRuntimeModule("react-instance-bootstrap");
|
|
21
|
-
const prefetchRoutes = toLinkPrefetchRoutes(routes);
|
|
21
|
+
const prefetchRoutes = toLinkPrefetchRoutes(routes, classifier);
|
|
22
22
|
const routeHandlers = pagesPrefetchRoutes.length > 0 ? toHashedRouteHandlerRoutes(routes) : [];
|
|
23
23
|
const clientRewrites = toClientRewrites(rewrites);
|
|
24
24
|
return `import ${JSON.stringify(reactInstanceBootstrapPath)};
|
|
@@ -69,20 +69,93 @@ function hasLoadingBoundary(route, hasSiblingInterceptLoading) {
|
|
|
69
69
|
return route.loadingPath !== null || (route.loadingPaths?.some((_, index) => (route.loadingTreePositions?.[index] ?? 0) > 0) ?? false) || route.parallelSlots.some((slot) => slot.loadingPath !== null || (slot.loadingPaths?.length ?? 0) > 0 || slot.interceptingRoutes.some((intercept) => interceptTargetsRoute(intercept.targetPattern, route) && (intercept.loadingPaths?.length ?? 0) > 0)) || hasSiblingInterceptLoading;
|
|
70
70
|
}
|
|
71
71
|
/** Project an `AppRoute` down to the public `VinextLinkPrefetchRoute` shape. */
|
|
72
|
-
function toLinkPrefetchRoute(route, hasSiblingInterceptLoading = route.siblingIntercepts.some((intercept) => interceptTargetsRoute(intercept.targetPattern, route) && (intercept.loadingPaths?.length ?? 0) > 0)) {
|
|
72
|
+
function toLinkPrefetchRoute(route, hasSiblingInterceptLoading = route.siblingIntercepts.some((intercept) => interceptTargetsRoute(intercept.targetPattern, route) && (intercept.loadingPaths?.length ?? 0) > 0), rendersDynamically = false) {
|
|
73
73
|
return {
|
|
74
74
|
canPrefetchLoadingShell: hasLoadingBoundary(route, hasSiblingInterceptLoading),
|
|
75
75
|
patternParts: [...route.patternParts],
|
|
76
76
|
isDynamic: route.isDynamic,
|
|
77
|
+
...rendersDynamically ? { rendersDynamically: true } : {},
|
|
77
78
|
...requiresDynamicNavigationRequest(route) ? { requiresDynamicNavigationRequest: true } : {},
|
|
78
79
|
...(route.rootParamNames?.length ?? 0) > 0 ? { hasRootParams: true } : {}
|
|
79
80
|
};
|
|
80
81
|
}
|
|
81
|
-
/**
|
|
82
|
-
|
|
82
|
+
/**
|
|
83
|
+
* Project App routes together so sibling-intercept loading is applied to its
|
|
84
|
+
* target route. `classifier` reads each route's segment config, and each
|
|
85
|
+
* intercepting page's, which applies to its target route.
|
|
86
|
+
*/
|
|
87
|
+
function toLinkPrefetchRoutes(routes, classifier) {
|
|
83
88
|
const siblingInterceptLoadingTargets = [];
|
|
84
89
|
for (const route of routes) for (const intercept of route.siblingIntercepts) if ((intercept.loadingPaths?.length ?? 0) > 0) siblingInterceptLoadingTargets.push(splitPatternParts(intercept.targetPattern));
|
|
85
|
-
|
|
90
|
+
const intercepts = classifier ? collectClassifiedIntercepts(routes, classifier) : [];
|
|
91
|
+
return routes.filter(isLinkPrefetchRoute).map((route) => {
|
|
92
|
+
const prefetchRoute = toLinkPrefetchRoute(route, siblingInterceptLoadingTargets.some((targetParts) => patternsStructurallyEquivalent(targetParts, route.patternParts)), classifier?.route(route) ?? false);
|
|
93
|
+
const routeIntercepts = intercepts.filter(({ targetPatternParts }) => interceptTargetMayMatchRoute(targetPatternParts, route.patternParts)).map(({ intercept }) => intercept);
|
|
94
|
+
return routeIntercepts.length > 0 ? {
|
|
95
|
+
...prefetchRoute,
|
|
96
|
+
intercepts: routeIntercepts
|
|
97
|
+
} : prefetchRoute;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Whether some URL matches both the intercept's target and the route:
|
|
102
|
+
* `/foo/:id` also intercepts a static `/foo/static` route, and `/:name/static`
|
|
103
|
+
* crosses `/foo/:id` at `/foo/static`. A catch-all counts as overlapping; the
|
|
104
|
+
* client checks the URL against the intercept's own target pattern anyway.
|
|
105
|
+
*/
|
|
106
|
+
function interceptTargetMayMatchRoute(targetPatternParts, routePatternParts) {
|
|
107
|
+
const isParam = (part) => part.startsWith(":");
|
|
108
|
+
const isCatchAll = (part) => isParam(part) && (part.endsWith("+") || part.endsWith("*"));
|
|
109
|
+
for (let index = 0;; index++) {
|
|
110
|
+
const target = targetPatternParts[index];
|
|
111
|
+
const route = routePatternParts[index];
|
|
112
|
+
if (target === void 0 || route === void 0) {
|
|
113
|
+
const rest = target ?? route;
|
|
114
|
+
return rest === void 0 || isCatchAll(rest) && rest.endsWith("*");
|
|
115
|
+
}
|
|
116
|
+
if (isCatchAll(target) || isCatchAll(route)) return true;
|
|
117
|
+
if (!isParam(target) && !isParam(route) && target !== route) return false;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Every intercepting page once, with its classification. A slot's intercepts
|
|
122
|
+
* are listed on each route that shares the slot. The intercepted response also
|
|
123
|
+
* renders branches of its source route that the intercepting page's tree
|
|
124
|
+
* doesn't cover, such as other slots, so a source route that renders
|
|
125
|
+
* dynamically makes the intercept dynamic too. The client also counts the
|
|
126
|
+
* descendant route an interception context resolves to.
|
|
127
|
+
*/
|
|
128
|
+
function collectClassifiedIntercepts(routes, classifier) {
|
|
129
|
+
const sources = /* @__PURE__ */ new Map();
|
|
130
|
+
const add = (intercept, layoutPaths, route) => {
|
|
131
|
+
const key = `${intercept.sourceMatchPattern}\0${intercept.pagePath}`;
|
|
132
|
+
const seen = sources.get(key);
|
|
133
|
+
if (seen && (seen.route.pattern === intercept.sourceMatchPattern || route.pattern !== intercept.sourceMatchPattern)) return;
|
|
134
|
+
sources.set(key, {
|
|
135
|
+
intercept,
|
|
136
|
+
layoutPaths,
|
|
137
|
+
route
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
for (const route of routes) {
|
|
141
|
+
for (const slot of route.parallelSlots) {
|
|
142
|
+
const slotLayoutPaths = slot.layoutPath ? [...route.layouts, slot.layoutPath] : route.layouts;
|
|
143
|
+
for (const intercept of slot.interceptingRoutes) add(intercept, slotLayoutPaths, route);
|
|
144
|
+
}
|
|
145
|
+
for (const intercept of route.siblingIntercepts) add(intercept, route.layouts, route);
|
|
146
|
+
}
|
|
147
|
+
return [...sources.values()].map(({ intercept, layoutPaths, route }) => {
|
|
148
|
+
const rendersDynamically = classifier.intercept(intercept, [...layoutPaths, ...intercept.layoutPaths]) || classifier.route(route);
|
|
149
|
+
const targetPatternParts = splitPatternParts(intercept.targetPattern);
|
|
150
|
+
return {
|
|
151
|
+
intercept: {
|
|
152
|
+
sourcePatternParts: splitPatternParts(intercept.sourceMatchPattern),
|
|
153
|
+
targetPatternParts,
|
|
154
|
+
...rendersDynamically ? { rendersDynamically: true } : {}
|
|
155
|
+
},
|
|
156
|
+
targetPatternParts
|
|
157
|
+
};
|
|
158
|
+
});
|
|
86
159
|
}
|
|
87
160
|
/**
|
|
88
161
|
* Generate the virtual module that holds the browser RouteManifest.
|
|
@@ -112,4 +112,5 @@ export declare function generateAppRequestRscEntry(appDir: string, routes: AppRo
|
|
|
112
112
|
export declare function generateRscEntry(appDir: string, routes: AppRoute[], middlewarePath?: string | null, metadataRoutes?: MetadataFileRoute[], globalErrorPath?: string | null, basePath?: string, trailingSlash?: boolean, config?: AppRouterConfig, instrumentationPath?: string | null, responseStageOnly?: boolean): string;
|
|
113
113
|
/** Generate the response-only App RSC graph used by the named cache stage. */
|
|
114
114
|
export declare function generateAppResponseRscEntry(appDir: string, routes: AppRoute[], _middlewarePath?: string | null, metadataRoutes?: MetadataFileRoute[], globalErrorPath?: string | null, basePath?: string, trailingSlash?: boolean, config?: AppRouterConfig, instrumentationPath?: string | null): string;
|
|
115
|
-
//#endregion
|
|
115
|
+
//#endregion
|
|
116
|
+
export {};
|
|
@@ -6,8 +6,8 @@ import { extractExportConstString, getAppRouteRenderEntryPath } from "../build/r
|
|
|
6
6
|
import { routePatternParts } from "../routing/route-pattern.js";
|
|
7
7
|
import { safeJsonStringify } from "../server/html.js";
|
|
8
8
|
import { DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES } from "../server/image-optimization.js";
|
|
9
|
-
import { buildAppRscManifestCode } from "./app-rsc-manifest.js";
|
|
10
9
|
import { classifyAppPageRouteStaticEligibility } from "../build/app-page-static-eligibility.js";
|
|
10
|
+
import { buildAppRscManifestCode } from "./app-rsc-manifest.js";
|
|
11
11
|
import { generateDevOriginCheckCode } from "../server/dev-origin-check.js";
|
|
12
12
|
import { ACTION_OWNER_MANIFEST_ID } from "../plugins/action-owner-manifest.js";
|
|
13
13
|
import fs from "node:fs";
|
|
@@ -46,7 +46,8 @@ const appPageRequestPath = resolveEntryPath("../server/app-page-request.js", imp
|
|
|
46
46
|
const appSegmentConfigPath = resolveEntryPath("../server/app-segment-config.js", import.meta.url);
|
|
47
47
|
const appRscRouteMatchingPath = resolveEntryPath("../server/app-rsc-route-matching.js", import.meta.url);
|
|
48
48
|
const appRscResponseStagePath = resolveEntryPath("../server/app-rsc-response-stage.js", import.meta.url);
|
|
49
|
-
const
|
|
49
|
+
const rscRenderStreamPath = resolveEntryPath("../server/rsc-render-stream.js", import.meta.url);
|
|
50
|
+
const appClientReferenceManifestPath = resolveEntryPath("../server/app-client-reference-manifest.js", import.meta.url);
|
|
50
51
|
const isrCachePath = resolveEntryPath("../server/isr-cache.js", import.meta.url);
|
|
51
52
|
const thenableParamsShimPath = resolveEntryPath("../shims/thenable-params.js", import.meta.url);
|
|
52
53
|
const appPageElementBuilderPath = resolveEntryPath("../server/app-page-element-builder.js", import.meta.url);
|
|
@@ -157,10 +158,18 @@ function buildAppRequestRouteMetadata(routes) {
|
|
|
157
158
|
interceptBranchSegments: intercept.branchSegments ?? [],
|
|
158
159
|
interceptLoadings: [],
|
|
159
160
|
interceptLoadingTreePositions: intercept.loadingTreePositions ?? [],
|
|
161
|
+
interceptNotFounds: [],
|
|
162
|
+
interceptNotFoundTreePositions: intercept.notFoundTreePositions ?? [],
|
|
160
163
|
interceptNotFoundBranchSegments: intercept.notFoundBranchSegments ?? intercept.branchSegments ?? [],
|
|
161
164
|
page: null,
|
|
162
165
|
notFound: null,
|
|
163
166
|
notFoundTreePosition: intercept.notFoundTreePosition ?? null,
|
|
167
|
+
interceptForbiddens: [],
|
|
168
|
+
interceptForbiddenTreePositions: intercept.forbiddenTreePositions ?? [],
|
|
169
|
+
interceptUnauthorizeds: [],
|
|
170
|
+
interceptUnauthorizedTreePositions: intercept.unauthorizedTreePositions ?? [],
|
|
171
|
+
interceptErrors: [],
|
|
172
|
+
interceptErrorTreePositions: intercept.errorTreePositions ?? [],
|
|
164
173
|
params: intercept.params
|
|
165
174
|
}))
|
|
166
175
|
}])),
|
|
@@ -175,10 +184,18 @@ function buildAppRequestRouteMetadata(routes) {
|
|
|
175
184
|
interceptBranchSegments: intercept.branchSegments ?? [],
|
|
176
185
|
interceptLoadings: [],
|
|
177
186
|
interceptLoadingTreePositions: intercept.loadingTreePositions ?? [],
|
|
187
|
+
interceptNotFounds: [],
|
|
188
|
+
interceptNotFoundTreePositions: intercept.notFoundTreePositions ?? [],
|
|
178
189
|
interceptNotFoundBranchSegments: intercept.notFoundBranchSegments ?? intercept.branchSegments ?? [],
|
|
179
190
|
page: null,
|
|
180
191
|
notFound: null,
|
|
181
192
|
notFoundTreePosition: intercept.notFoundTreePosition ?? null,
|
|
193
|
+
interceptForbiddens: [],
|
|
194
|
+
interceptForbiddenTreePositions: intercept.forbiddenTreePositions ?? [],
|
|
195
|
+
interceptUnauthorizeds: [],
|
|
196
|
+
interceptUnauthorizedTreePositions: intercept.unauthorizedTreePositions ?? [],
|
|
197
|
+
interceptErrors: [],
|
|
198
|
+
interceptErrorTreePositions: intercept.errorTreePositions ?? [],
|
|
182
199
|
params: intercept.params
|
|
183
200
|
}))
|
|
184
201
|
}));
|
|
@@ -372,9 +389,9 @@ const __requestHandler = createAppRscRequestHandler({
|
|
|
372
389
|
publicFiles: new Set(${JSON.stringify(config?.publicFiles ?? [])}),
|
|
373
390
|
registerCacheAdapters: __registerConfiguredCacheAdapters,
|
|
374
391
|
renderNotFound: async () => null,
|
|
375
|
-
${hasPagesDir ? `async renderPagesFallback({ allowRscDocumentFallback, appRouteMatch, dispatchPagesResponseStage, initialResponseHeaders, isDataRequest, isRscRequest, matchKind, middlewareContext, pathname, pagesDataRequest, request, url }) {
|
|
392
|
+
${hasPagesDir ? `async renderPagesFallback({ allowRscDocumentFallback, appRouteMatch, dispatchPagesResponseStage, initialResponseHeaders, isDataRequest, isRscRequest, matchKind, middlewareContext, pathname, pagesDataRequest, request, sharedAcrossHosts, url }) {
|
|
376
393
|
return __renderPagesFallback(
|
|
377
|
-
{ allowRscDocumentFallback, appRouteMatch, initialResponseHeaders, isDataRequest, isRscRequest, matchKind, middlewareContext, pathname, pagesDataRequest, request, url },
|
|
394
|
+
{ allowRscDocumentFallback, appRouteMatch, initialResponseHeaders, isDataRequest, isRscRequest, matchKind, middlewareContext, pathname, pagesDataRequest, request, sharedAcrossHosts, url },
|
|
378
395
|
{
|
|
379
396
|
async loadPagesEntry() {
|
|
380
397
|
if (!dispatchPagesResponseStage) {
|
|
@@ -384,8 +401,8 @@ const __requestHandler = createAppRscRequestHandler({
|
|
|
384
401
|
...__pagesRequestEntry,
|
|
385
402
|
handleApiRoute(stageRequest) { return dispatchPagesResponseStage(stageRequest, "api"); },
|
|
386
403
|
renderPage(stageRequest, pagesUrl) {
|
|
387
|
-
const
|
|
388
|
-
return dispatchPagesResponseStage(stageRequest, "page", dataKind, __pagesRequestEntry.hasRequestAwareDocument);
|
|
404
|
+
const route = __pagesRequestEntry.matchPageRoute?.(pagesUrl, stageRequest)?.route;
|
|
405
|
+
return dispatchPagesResponseStage(stageRequest, "page", route?.dataKind, __pagesRequestEntry.hasRequestAwareDocument, route?.runsInitialProps === true);
|
|
389
406
|
},
|
|
390
407
|
};
|
|
391
408
|
},
|
|
@@ -515,16 +532,13 @@ import ${JSON.stringify(appRouteRequestBuiltInsPath)};` : ""}
|
|
|
515
532
|
import ${JSON.stringify(serverGlobalsPath)};
|
|
516
533
|
import __cacheabilityManifest from "virtual:vinext-cacheability-manifest";
|
|
517
534
|
export { __cacheabilityManifest };
|
|
518
|
-
import {
|
|
519
|
-
renderToReadableStream as _renderToReadableStream,
|
|
520
|
-
${hasServerActions ? `loadServerAction,
|
|
521
|
-
createTemporaryReferenceSet,` : ""}
|
|
522
|
-
} from ${JSON.stringify(hasServerActions ? "@vitejs/plugin-rsc/rsc" : "@vitejs/plugin-rsc/react/rsc")};
|
|
523
|
-
import {
|
|
535
|
+
${hasServerActions ? `import { loadServerAction, createTemporaryReferenceSet } from "@vitejs/plugin-rsc/rsc";\n` : ""}import {
|
|
524
536
|
createClientManifest as _createClientManifest,${hasServerActions ? `
|
|
525
537
|
createServerManifest as _createServerManifest,` : ""}
|
|
526
538
|
} from "@vitejs/plugin-rsc/core/rsc";
|
|
539
|
+
import { renderToReadableStream as _renderToReadableStream } from "@vitejs/plugin-rsc/vendor/react-server-dom/server.edge";
|
|
527
540
|
import { prerender as _prerender } from "@vitejs/plugin-rsc/vendor/react-server-dom/static.edge";
|
|
541
|
+
import { createClientReferenceChunksManifest } from ${JSON.stringify(appClientReferenceManifestPath)};
|
|
528
542
|
${hasServerActions ? `// plugin-rsc's decoders fix an unscoped server manifest; React's own take the
|
|
529
543
|
// manifest, so actions can scope the server references they decode per route.
|
|
530
544
|
import {
|
|
@@ -532,12 +546,18 @@ import {
|
|
|
532
546
|
decodeFormState as _decodeFormState,
|
|
533
547
|
decodeReply as _decodeReply,
|
|
534
548
|
} from "@vitejs/plugin-rsc/vendor/react-server-dom/server.edge";
|
|
535
|
-
` : ""}import {
|
|
549
|
+
` : ""}import { createRscRenderer } from ${JSON.stringify(rscRenderStreamPath)};
|
|
536
550
|
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
551
|
+
// Each render takes a fresh client manifest: in development, its references
|
|
552
|
+
// carry a new cache tag.
|
|
553
|
+
const __withClientReferenceChunks = createClientReferenceChunksManifest(
|
|
554
|
+
__pagesClientAssets.appClientReferenceChunks,
|
|
555
|
+
);
|
|
556
|
+
const renderToReadableStream = createRscRenderer((model, options) =>
|
|
557
|
+
_renderToReadableStream(model, __withClientReferenceChunks(_createClientManifest()), options),
|
|
540
558
|
);
|
|
559
|
+
const prerenderToReadableStream = (model, options) =>
|
|
560
|
+
_prerender(model, __withClientReferenceChunks(_createClientManifest()), options);
|
|
541
561
|
import { createElement } from "react";
|
|
542
562
|
import { getNavigationContext as _getNavigationContext } from "next/navigation";
|
|
543
563
|
import { configureMemoryCacheHandler as __configureMemoryCacheHandler } from "vinext/shims/cache-handler";
|
|
@@ -591,7 +611,7 @@ import {
|
|
|
591
611
|
AppElementsWire as __AppElementsWire,
|
|
592
612
|
} from ${JSON.stringify(appElementsPath)};
|
|
593
613
|
import {
|
|
594
|
-
|
|
614
|
+
probeAppPageLayout as __probeAppPageLayout,
|
|
595
615
|
resolveAppPageChildSegments as __resolveAppPageChildSegments,
|
|
596
616
|
} from ${JSON.stringify(appPageRouteWiringPath)};
|
|
597
617
|
import { buildPageElements as __buildPageElements } from ${JSON.stringify(appPageElementBuilderPath)};
|
|
@@ -677,16 +697,6 @@ const __isrDebug = process.env.NEXT_PRIVATE_DEBUG_CACHE
|
|
|
677
697
|
? console.debug.bind(console, "[vinext] ISR:")
|
|
678
698
|
: undefined;
|
|
679
699
|
|
|
680
|
-
// Classification debug — opt in with VINEXT_DEBUG_CLASSIFICATION=1. Gated on
|
|
681
|
-
// the env var so the hot path pays no overhead unless an operator is actively
|
|
682
|
-
// tracing why a layout was flagged static or dynamic. The reason payload is
|
|
683
|
-
// carried by __VINEXT_CLASS_REASONS and consumed inside probeAppPageLayouts.
|
|
684
|
-
const __classDebug = process.env.VINEXT_DEBUG_CLASSIFICATION
|
|
685
|
-
? function(layoutId, reason) {
|
|
686
|
-
console.debug("[vinext] CLS:", layoutId, reason);
|
|
687
|
-
}
|
|
688
|
-
: undefined;
|
|
689
|
-
|
|
690
700
|
function __resolveRouteFetchCacheMode(route) {
|
|
691
701
|
return __resolveAppPageFetchCacheMode({
|
|
692
702
|
layouts: route.layouts,
|
|
@@ -806,24 +816,6 @@ ${instrumentationPath ? `// Lazy instrumentation initialisation is handled by en
|
|
|
806
816
|
// the user module in; all bookkeeping (initialized flag, shared promise, prerender
|
|
807
817
|
// skip) lives in the typed helper so it can be unit-tested independently.` : ""}
|
|
808
818
|
|
|
809
|
-
// Build-time layout classification dispatch. Replaced in renderChunk
|
|
810
|
-
// with a switch statement that returns a pre-computed per-layout
|
|
811
|
-
// Map<layoutIndex, "static" | "dynamic"> for each route. Until the
|
|
812
|
-
// plugin patches this stub, every route falls back to the Layer 3
|
|
813
|
-
// runtime probe, which is the current (slow) behaviour.
|
|
814
|
-
function __VINEXT_CLASS(routeIdx) {
|
|
815
|
-
return null;
|
|
816
|
-
}
|
|
817
|
-
|
|
818
|
-
// Build-time layout classification reasons dispatch. Sibling of
|
|
819
|
-
// __VINEXT_CLASS, returning a per-route Map<layoutIndex, ClassificationReason>
|
|
820
|
-
// that feeds the debug channel when VINEXT_DEBUG_CLASSIFICATION is active.
|
|
821
|
-
// Replaced in renderChunk with a real dispatch table; the stub returns
|
|
822
|
-
// null so the hot path never allocates reason maps when debug is off.
|
|
823
|
-
function __VINEXT_CLASS_REASONS(routeIdx) {
|
|
824
|
-
return null;
|
|
825
|
-
}
|
|
826
|
-
|
|
827
819
|
const routes = [
|
|
828
820
|
${routeEntries.join(",\n")}
|
|
829
821
|
];
|
|
@@ -942,7 +934,7 @@ function hasInterceptionId(interceptionId) {
|
|
|
942
934
|
return __routeMatcher.hasInterceptionId(interceptionId);
|
|
943
935
|
}
|
|
944
936
|
|
|
945
|
-
async function buildPageElements(route, params, routePath, pageRequest,
|
|
937
|
+
async function buildPageElements(route, params, routePath, pageRequest, displayPathname = routePath, scriptNonce) {
|
|
946
938
|
// Hydrate lazy page/route-handler modules before any synchronous read.
|
|
947
939
|
await __ensureRouteLoaded(route);
|
|
948
940
|
return __buildPageElements({
|
|
@@ -957,7 +949,6 @@ async function buildPageElements(route, params, routePath, pageRequest, layoutPa
|
|
|
957
949
|
rootForbiddenModule: ${rootForbiddenVar ? rootForbiddenVar : "null"},
|
|
958
950
|
rootUnauthorizedModule: ${rootUnauthorizedVar ? rootUnauthorizedVar : "null"},
|
|
959
951
|
metadataRoutes,
|
|
960
|
-
layoutParamAccess,
|
|
961
952
|
basePath: __basePath,
|
|
962
953
|
trailingSlash: __trailingSlash,
|
|
963
954
|
htmlLimitedBots: __htmlLimitedBots,
|
|
@@ -1067,7 +1058,6 @@ ${responseStageOnly ? "const __responseStageOptions = {" : "const __appRscHandle
|
|
|
1067
1058
|
dispatchMatchedPage({
|
|
1068
1059
|
bypassInterceptionContextCache,
|
|
1069
1060
|
cachePathname,
|
|
1070
|
-
clientReuseManifest,
|
|
1071
1061
|
cleanPathname,
|
|
1072
1062
|
displayPathname,
|
|
1073
1063
|
formState,
|
|
@@ -1122,7 +1112,7 @@ ${responseStageOnly ? "const __responseStageOptions = {" : "const __appRscHandle
|
|
|
1122
1112
|
ensureRouteLoaded: __ensureRouteLoaded,
|
|
1123
1113
|
clientTraceMetadata: __clientTraceMetadata,
|
|
1124
1114
|
reactMaxHeadersLength: __reactMaxHeadersLength,
|
|
1125
|
-
buildPageElement(targetRoute, targetParams, targetOpts, targetSearchParams,
|
|
1115
|
+
buildPageElement(targetRoute, targetParams, targetOpts, targetSearchParams, buildOptions) {
|
|
1126
1116
|
return buildPageElements(targetRoute, targetParams, cleanPathname, {
|
|
1127
1117
|
opts: targetOpts,
|
|
1128
1118
|
searchParams: targetSearchParams,
|
|
@@ -1133,12 +1123,14 @@ ${responseStageOnly ? "const __responseStageOptions = {" : "const __appRscHandle
|
|
|
1133
1123
|
observeMetadataSearchParamsAccess: buildOptions?.observeMetadataSearchParamsAccess === true,
|
|
1134
1124
|
observePageSearchParamsAccess: buildOptions?.observePageSearchParamsAccess === true,
|
|
1135
1125
|
isForceStatic: buildOptions?.isForceStatic === true,
|
|
1126
|
+
isUncacheableRender: buildOptions?.isUncacheableRender === true,
|
|
1127
|
+
mountedLayouts: buildOptions?.mountedLayouts ?? null,
|
|
1136
1128
|
serveStreamingMetadata: buildOptions?.serveStreamingMetadata,
|
|
1137
1129
|
placeStreamedMetadataInHead: buildOptions?.placeStreamedMetadataInHead === true,
|
|
1138
1130
|
isProduction: process.env.NODE_ENV === "production",
|
|
1139
|
-
|
|
1131
|
+
onHeadPrepared: buildOptions?.onHeadPrepared,
|
|
1132
|
+
}, displayPathname, scriptNonce);
|
|
1140
1133
|
},
|
|
1141
|
-
clientReuseManifest,
|
|
1142
1134
|
cleanPathname,
|
|
1143
1135
|
displayPathname,
|
|
1144
1136
|
clearRequestContext() {
|
|
@@ -1147,7 +1139,6 @@ ${responseStageOnly ? "const __responseStageOptions = {" : "const __appRscHandle
|
|
|
1147
1139
|
createRscOnErrorHandler(pathname, routePath, overrides) {
|
|
1148
1140
|
return createRscOnErrorHandler(request, pathname, routePath, overrides);
|
|
1149
1141
|
},
|
|
1150
|
-
debugClassification: __classDebug,
|
|
1151
1142
|
draftModeSecret: __draftModeSecret,
|
|
1152
1143
|
dynamicConfig: __segmentConfig.dynamicConfig,
|
|
1153
1144
|
dynamicStaleTimeSeconds: __segmentConfig.dynamicStaleTimeSeconds,
|
|
@@ -1214,10 +1205,9 @@ ${responseStageOnly ? "const __responseStageOptions = {" : "const __appRscHandle
|
|
|
1214
1205
|
skipStaticParamsValidation,
|
|
1215
1206
|
staticParamsValidationParams,
|
|
1216
1207
|
rootParams,
|
|
1217
|
-
probeLayoutAt(li
|
|
1218
|
-
return
|
|
1208
|
+
probeLayoutAt(li) {
|
|
1209
|
+
return __probeAppPageLayout({
|
|
1219
1210
|
layoutIndex: li,
|
|
1220
|
-
layoutParamAccess,
|
|
1221
1211
|
makeThenableParams,
|
|
1222
1212
|
matchedParams: params,
|
|
1223
1213
|
route,
|
|
@@ -1404,6 +1394,7 @@ ${responseStageOnly ? "const __responseStageOptions = {" : "const __appRscHandle
|
|
|
1404
1394
|
);
|
|
1405
1395
|
},
|
|
1406
1396
|
hasPageRoute: __hasPageRoute,
|
|
1397
|
+
currentRoute: routeMatch?.route ?? null,
|
|
1407
1398
|
maxActionBodySize: __MAX_ACTION_BODY_SIZE,
|
|
1408
1399
|
middlewareHeaders: middlewareContext.headers,
|
|
1409
1400
|
readFormDataWithLimit: __readFormDataWithLimit,
|
|
@@ -1493,7 +1484,7 @@ ${responseStageOnly ? "const __responseStageOptions = {" : "const __appRscHandle
|
|
|
1493
1484
|
observeMetadataSearchParamsAccess: observeMetadataSearchParamsAccess === true,
|
|
1494
1485
|
observePageSearchParamsAccess: observePageSearchParamsAccess === true,
|
|
1495
1486
|
isForceStatic: isForceStatic === true,
|
|
1496
|
-
},
|
|
1487
|
+
}, actionCleanPathname, targetScriptNonce ?? scriptNonce);
|
|
1497
1488
|
},
|
|
1498
1489
|
cleanPathname,
|
|
1499
1490
|
clearRequestContext() {
|
|
@@ -1590,6 +1581,14 @@ ${responseStageOnly ? "const __responseStageOptions = {" : "const __appRscHandle
|
|
|
1590
1581
|
interceptNotFoundBranchSegments: intercept.interceptNotFoundBranchSegments,
|
|
1591
1582
|
interceptNotFound: intercept.notFound,
|
|
1592
1583
|
interceptNotFoundTreePosition: intercept.notFoundTreePosition,
|
|
1584
|
+
interceptForbiddens: intercept.interceptForbiddens,
|
|
1585
|
+
interceptForbiddenTreePositions: intercept.interceptForbiddenTreePositions,
|
|
1586
|
+
interceptUnauthorizeds: intercept.interceptUnauthorizeds,
|
|
1587
|
+
interceptUnauthorizedTreePositions: intercept.interceptUnauthorizedTreePositions,
|
|
1588
|
+
interceptErrors: intercept.interceptErrors,
|
|
1589
|
+
interceptErrorTreePositions: intercept.interceptErrorTreePositions,
|
|
1590
|
+
interceptNotFounds: intercept.interceptNotFounds,
|
|
1591
|
+
interceptNotFoundTreePositions: intercept.interceptNotFoundTreePositions,
|
|
1593
1592
|
interceptSlotId: intercept.slotId,
|
|
1594
1593
|
interceptSlotKey: intercept.slotKey,
|
|
1595
1594
|
interceptSourceMatchedUrl: interceptionContext,
|
|
@@ -1674,9 +1673,9 @@ ${responseStageOnly ? "const __responseStageOptions = {" : "const __appRscHandle
|
|
|
1674
1673
|
const __isEdge = route ? __isEdgeRuntime(__resolveRouteRuntime(route)) : false;
|
|
1675
1674
|
return __fallbackRenderer.renderNotFound(route, isRscRequest, request, matchedParams, scriptNonce, middlewareContext, { isEdgeRuntime: __isEdge });
|
|
1676
1675
|
},
|
|
1677
|
-
${hasPagesDir ? `async renderPagesFallback({ allowRscDocumentFallback, appRouteMatch, dispatchPagesResponseStage, initialResponseHeaders, isDataRequest, isRscRequest, matchKind, middlewareContext, pathname, pagesDataRequest, request, url }) {
|
|
1676
|
+
${hasPagesDir ? `async renderPagesFallback({ allowRscDocumentFallback, appRouteMatch, dispatchPagesResponseStage, initialResponseHeaders, isDataRequest, isRscRequest, matchKind, middlewareContext, pathname, pagesDataRequest, request, sharedAcrossHosts, url }) {
|
|
1678
1677
|
return __renderPagesFallback(
|
|
1679
|
-
{ allowRscDocumentFallback, appRouteMatch, initialResponseHeaders, isDataRequest, isRscRequest, matchKind, middlewareContext, pathname, pagesDataRequest, request, url },
|
|
1678
|
+
{ allowRscDocumentFallback, appRouteMatch, initialResponseHeaders, isDataRequest, isRscRequest, matchKind, middlewareContext, pathname, pagesDataRequest, request, sharedAcrossHosts, url },
|
|
1680
1679
|
{
|
|
1681
1680
|
async loadPagesEntry() {
|
|
1682
1681
|
const __pagesEntry = await __ensureHybridPagesApplication();
|
|
@@ -1695,8 +1694,8 @@ ${responseStageOnly ? "const __responseStageOptions = {" : "const __appRscHandle
|
|
|
1695
1694
|
...(typeof __pagesEntry.renderPage === "function"
|
|
1696
1695
|
? {
|
|
1697
1696
|
renderPage(stageRequest, pagesUrl) {
|
|
1698
|
-
const
|
|
1699
|
-
return dispatchPagesResponseStage(stageRequest, "page", dataKind, __pagesEntry.hasRequestAwareDocument);
|
|
1697
|
+
const route = __pagesEntry.matchPageRoute?.(pagesUrl, stageRequest)?.route;
|
|
1698
|
+
return dispatchPagesResponseStage(stageRequest, "page", route?.dataKind, __pagesEntry.hasRequestAwareDocument, route?.runsInitialProps === true);
|
|
1700
1699
|
},
|
|
1701
1700
|
}
|
|
1702
1701
|
: {}),
|
|
@@ -60,4 +60,5 @@ export declare function rootBoundaryFiles(routes: readonly AppRoute[]): string[]
|
|
|
60
60
|
*/
|
|
61
61
|
export declare function rootBoundaryRouteFiles(routes: readonly AppRoute[]): string[];
|
|
62
62
|
export declare function buildAppRscManifestCode(options: BuildAppRscManifestCodeOptions): AppRscManifestCode;
|
|
63
|
-
//#endregion
|
|
63
|
+
//#endregion
|
|
64
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toSlash } from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
|
-
import { computeAppRouteStaticSiblings, convertSegmentsToRouteParts } from "../routing/app-route-graph.js";
|
|
2
|
+
import { computeAppRouteStaticSiblings, convertSegmentsToRouteParts, findSlotPageTreePosition } from "../routing/app-route-graph.js";
|
|
3
3
|
import { appRouteHasMainTreeLoadingBoundary, appRouteLayoutStaticParamsGroups } from "../routing/app-router.js";
|
|
4
4
|
import { createMetadataRouteEntriesSource } from "../server/metadata-route-build-data.js";
|
|
5
5
|
//#region src/entries/app-rsc-manifest.ts
|
|
@@ -95,6 +95,11 @@ function registerRouteModules(routes, imports) {
|
|
|
95
95
|
if (route.unauthorizedPaths) {
|
|
96
96
|
for (const up of route.unauthorizedPaths) if (up) imports.getLazyLoaderVar(up);
|
|
97
97
|
}
|
|
98
|
+
for (const boundaryPath of [
|
|
99
|
+
...route.segmentNotFoundPaths ?? [],
|
|
100
|
+
...route.segmentForbiddenPaths ?? [],
|
|
101
|
+
...route.segmentUnauthorizedPaths ?? []
|
|
102
|
+
]) imports.getLazyLoaderVar(boundaryPath);
|
|
98
103
|
for (const slot of route.parallelSlots) {
|
|
99
104
|
if (slot.pagePath) imports.getLazyLoaderVar(slot.pagePath);
|
|
100
105
|
if (slot.defaultPath) imports.getLazyLoaderVar(slot.defaultPath);
|
|
@@ -104,9 +109,14 @@ function registerRouteModules(routes, imports) {
|
|
|
104
109
|
for (const loadingPath of slot.loadingPaths ?? []) imports.getLazyLoaderVar(loadingPath);
|
|
105
110
|
if (slot.errorPath) imports.getLazyLoaderVar(slot.errorPath);
|
|
106
111
|
if (slot.notFoundPath) imports.getLazyLoaderVar(slot.notFoundPath);
|
|
112
|
+
for (const notFoundPath of slot.notFoundPaths ?? []) imports.getLazyLoaderVar(notFoundPath);
|
|
107
113
|
for (const ir of slot.interceptingRoutes) {
|
|
108
114
|
imports.getLazyLoaderVar(ir.pagePath);
|
|
109
115
|
if (ir.notFoundPath) imports.getLazyLoaderVar(ir.notFoundPath);
|
|
116
|
+
for (const forbiddenPath of ir.forbiddenPaths ?? []) imports.getLazyLoaderVar(forbiddenPath);
|
|
117
|
+
for (const unauthorizedPath of ir.unauthorizedPaths ?? []) imports.getLazyLoaderVar(unauthorizedPath);
|
|
118
|
+
for (const errorPath of ir.errorPaths ?? []) imports.getLazyLoaderVar(errorPath);
|
|
119
|
+
for (const notFoundPath of ir.notFoundPaths ?? []) imports.getLazyLoaderVar(notFoundPath);
|
|
110
120
|
for (const layoutPath of ir.layoutPaths) imports.getLazyLoaderVar(layoutPath);
|
|
111
121
|
for (const loadingPath of ir.loadingPaths ?? []) imports.getLazyLoaderVar(loadingPath);
|
|
112
122
|
}
|
|
@@ -114,6 +124,10 @@ function registerRouteModules(routes, imports) {
|
|
|
114
124
|
for (const ir of route.siblingIntercepts ?? []) {
|
|
115
125
|
imports.getLazyLoaderVar(ir.pagePath);
|
|
116
126
|
if (ir.notFoundPath) imports.getLazyLoaderVar(ir.notFoundPath);
|
|
127
|
+
for (const forbiddenPath of ir.forbiddenPaths ?? []) imports.getLazyLoaderVar(forbiddenPath);
|
|
128
|
+
for (const unauthorizedPath of ir.unauthorizedPaths ?? []) imports.getLazyLoaderVar(unauthorizedPath);
|
|
129
|
+
for (const errorPath of ir.errorPaths ?? []) imports.getLazyLoaderVar(errorPath);
|
|
130
|
+
for (const notFoundPath of ir.notFoundPaths ?? []) imports.getLazyLoaderVar(notFoundPath);
|
|
117
131
|
for (const layoutPath of ir.layoutPaths) imports.getLazyLoaderVar(layoutPath);
|
|
118
132
|
for (const loadingPath of ir.loadingPaths ?? []) imports.getLazyLoaderVar(loadingPath);
|
|
119
133
|
}
|
|
@@ -126,7 +140,7 @@ function lazyLoaderArray(filePaths, imports) {
|
|
|
126
140
|
return `[${filePaths.map((filePath) => filePath ? imports.getLazyLoaderVar(filePath) : "null").join(", ")}]`;
|
|
127
141
|
}
|
|
128
142
|
function buildRouteEntries(routes, imports) {
|
|
129
|
-
return routes.map((route
|
|
143
|
+
return routes.map((route) => {
|
|
130
144
|
const staticSiblings = route.isDynamic ? computeAppRouteStaticSiblings(routes, route) : [];
|
|
131
145
|
const layoutLoaders = lazyLoaderArray(route.layouts, imports);
|
|
132
146
|
const templateLoaders = lazyLoaderArray(route.templates, imports);
|
|
@@ -153,11 +167,23 @@ function buildRouteEntries(routes, imports) {
|
|
|
153
167
|
__loadInterceptLoadings: ${lazyLoaderArray(ir.loadingPaths ?? [], imports)},
|
|
154
168
|
interceptLoadingTreePositions: ${JSON.stringify(ir.loadingTreePositions ?? [])},
|
|
155
169
|
interceptNotFoundBranchSegments: ${JSON.stringify(ir.notFoundBranchSegments ?? ir.branchSegments ?? [])},
|
|
170
|
+
interceptNotFounds: ${moduleArray(ir.notFoundPaths?.length ?? 0)},
|
|
171
|
+
__loadInterceptNotFounds: ${lazyLoaderArray(ir.notFoundPaths ?? [], imports)},
|
|
172
|
+
interceptNotFoundTreePositions: ${JSON.stringify(ir.notFoundTreePositions ?? [])},
|
|
156
173
|
page: null,
|
|
157
174
|
__pageLoader: ${imports.getLazyLoaderVar(ir.pagePath)},
|
|
158
175
|
notFound: null,
|
|
159
176
|
__loadNotFound: ${ir.notFoundPath ? imports.getLazyLoaderVar(ir.notFoundPath) : "null"},
|
|
160
177
|
notFoundTreePosition: ${ir.notFoundTreePosition ?? "null"},
|
|
178
|
+
interceptForbiddens: ${moduleArray(ir.forbiddenPaths?.length ?? 0)},
|
|
179
|
+
__loadInterceptForbiddens: ${lazyLoaderArray(ir.forbiddenPaths ?? [], imports)},
|
|
180
|
+
interceptForbiddenTreePositions: ${JSON.stringify(ir.forbiddenTreePositions ?? [])},
|
|
181
|
+
interceptUnauthorizeds: ${moduleArray(ir.unauthorizedPaths?.length ?? 0)},
|
|
182
|
+
__loadInterceptUnauthorizeds: ${lazyLoaderArray(ir.unauthorizedPaths ?? [], imports)},
|
|
183
|
+
interceptUnauthorizedTreePositions: ${JSON.stringify(ir.unauthorizedTreePositions ?? [])},
|
|
184
|
+
interceptErrors: ${moduleArray(ir.errorPaths?.length ?? 0)},
|
|
185
|
+
__loadInterceptErrors: ${lazyLoaderArray(ir.errorPaths ?? [], imports)},
|
|
186
|
+
interceptErrorTreePositions: ${JSON.stringify(ir.errorTreePositions ?? [])},
|
|
161
187
|
params: ${JSON.stringify(ir.params)},
|
|
162
188
|
}`);
|
|
163
189
|
const slotEntries = route.parallelSlots.map((slot) => {
|
|
@@ -174,11 +200,23 @@ function buildRouteEntries(routes, imports) {
|
|
|
174
200
|
__loadInterceptLoadings: ${lazyLoaderArray(ir.loadingPaths ?? [], imports)},
|
|
175
201
|
interceptLoadingTreePositions: ${JSON.stringify(ir.loadingTreePositions ?? [])},
|
|
176
202
|
interceptNotFoundBranchSegments: ${JSON.stringify(ir.notFoundBranchSegments ?? ir.branchSegments ?? [])},
|
|
203
|
+
interceptNotFounds: ${moduleArray(ir.notFoundPaths?.length ?? 0)},
|
|
204
|
+
__loadInterceptNotFounds: ${lazyLoaderArray(ir.notFoundPaths ?? [], imports)},
|
|
205
|
+
interceptNotFoundTreePositions: ${JSON.stringify(ir.notFoundTreePositions ?? [])},
|
|
177
206
|
page: null,
|
|
178
207
|
__pageLoader: ${imports.getLazyLoaderVar(ir.pagePath)},
|
|
179
208
|
notFound: null,
|
|
180
209
|
__loadNotFound: ${ir.notFoundPath ? imports.getLazyLoaderVar(ir.notFoundPath) : "null"},
|
|
181
210
|
notFoundTreePosition: ${ir.notFoundTreePosition ?? "null"},
|
|
211
|
+
interceptForbiddens: ${moduleArray(ir.forbiddenPaths?.length ?? 0)},
|
|
212
|
+
__loadInterceptForbiddens: ${lazyLoaderArray(ir.forbiddenPaths ?? [], imports)},
|
|
213
|
+
interceptForbiddenTreePositions: ${JSON.stringify(ir.forbiddenTreePositions ?? [])},
|
|
214
|
+
interceptUnauthorizeds: ${moduleArray(ir.unauthorizedPaths?.length ?? 0)},
|
|
215
|
+
__loadInterceptUnauthorizeds: ${lazyLoaderArray(ir.unauthorizedPaths ?? [], imports)},
|
|
216
|
+
interceptUnauthorizedTreePositions: ${JSON.stringify(ir.unauthorizedTreePositions ?? [])},
|
|
217
|
+
interceptErrors: ${moduleArray(ir.errorPaths?.length ?? 0)},
|
|
218
|
+
__loadInterceptErrors: ${lazyLoaderArray(ir.errorPaths ?? [], imports)},
|
|
219
|
+
interceptErrorTreePositions: ${JSON.stringify(ir.errorTreePositions ?? [])},
|
|
182
220
|
params: ${JSON.stringify(ir.params)},
|
|
183
221
|
}`);
|
|
184
222
|
return ` ${JSON.stringify(slot.key)}: {
|
|
@@ -194,6 +232,7 @@ function buildRouteEntries(routes, imports) {
|
|
|
194
232
|
configLayouts: ${moduleArray(slot.configLayoutPaths?.length ?? 0)},
|
|
195
233
|
__loadConfigLayouts: ${lazyLoaderArray(slot.configLayoutPaths ?? [], imports)},
|
|
196
234
|
configLayoutTreePositions: ${JSON.stringify(slot.configLayoutTreePositions ?? [])},
|
|
235
|
+
pageTreePosition: ${findSlotPageTreePosition(slot) ?? "null"},
|
|
197
236
|
loading: null,
|
|
198
237
|
__loadLoading: ${slot.loadingPath ? imports.getLazyLoaderVar(slot.loadingPath) : "null"},
|
|
199
238
|
loadings: ${moduleArray(slot.loadingPaths?.length ?? 0)},
|
|
@@ -204,6 +243,9 @@ function buildRouteEntries(routes, imports) {
|
|
|
204
243
|
notFound: null,
|
|
205
244
|
__loadNotFound: ${slot.notFoundPath ? imports.getLazyLoaderVar(slot.notFoundPath) : "null"},
|
|
206
245
|
notFoundTreePosition: ${slot.notFoundTreePosition ?? "null"},
|
|
246
|
+
notFounds: ${moduleArray(slot.notFoundPaths?.length ?? 0)},
|
|
247
|
+
__loadNotFounds: ${lazyLoaderArray(slot.notFoundPaths ?? [], imports)},
|
|
248
|
+
notFoundTreePositions: ${JSON.stringify(slot.notFoundTreePositions ?? [])},
|
|
207
249
|
layoutIndex: ${slot.layoutIndex},
|
|
208
250
|
routeSegments: ${JSON.stringify(slot.routeSegments)},
|
|
209
251
|
slotPatternParts: ${slot.slotPatternParts ? JSON.stringify(slot.slotPatternParts) : "null"},
|
|
@@ -214,14 +256,15 @@ ${interceptEntries.join(",\n")}
|
|
|
214
256
|
}`;
|
|
215
257
|
});
|
|
216
258
|
const layoutErrorPaths = route.layoutErrorPaths ?? [];
|
|
259
|
+
const segmentNotFoundPaths = route.segmentNotFoundPaths ?? [];
|
|
260
|
+
const segmentForbiddenPaths = route.segmentForbiddenPaths ?? [];
|
|
261
|
+
const segmentUnauthorizedPaths = route.segmentUnauthorizedPaths ?? [];
|
|
217
262
|
const errorPaths = route.errorPaths ?? [];
|
|
218
263
|
const layoutErrorLoaders = lazyLoaderArray(layoutErrorPaths, imports);
|
|
219
264
|
const errorLoaders = lazyLoaderArray(errorPaths, imports);
|
|
220
265
|
const loadPageField = route.pagePath ? imports.getLazyLoaderVar(route.pagePath) : "null";
|
|
221
266
|
const loadRouteHandlerField = route.routePath ? imports.getLazyLoaderVar(route.routePath) : "null";
|
|
222
267
|
return ` {
|
|
223
|
-
__buildTimeClassifications: __VINEXT_CLASS(${routeIdx}), // evaluated once at module load
|
|
224
|
-
__buildTimeReasons: __classDebug ? __VINEXT_CLASS_REASONS(${routeIdx}) : null,
|
|
225
268
|
canUseCanonicalLoadingShell: ${appRouteHasMainTreeLoadingBoundary(route)},
|
|
226
269
|
ids: ${JSON.stringify(route.ids ?? null)},
|
|
227
270
|
pattern: ${JSON.stringify(route.pattern)},
|
|
@@ -276,6 +319,15 @@ ${siblingInterceptEntries.join(",\n")}
|
|
|
276
319
|
unauthorizedTreePosition: ${route.unauthorizedTreePosition ?? "null"},
|
|
277
320
|
unauthorizeds: ${moduleArray(unauthorizedPaths.length)},
|
|
278
321
|
__loadUnauthorizeds: ${unauthorizedLoaders},
|
|
322
|
+
segmentNotFounds: ${moduleArray(segmentNotFoundPaths.length)},
|
|
323
|
+
__loadSegmentNotFounds: ${lazyLoaderArray(segmentNotFoundPaths, imports)},
|
|
324
|
+
segmentNotFoundTreePositions: ${JSON.stringify(route.segmentNotFoundTreePositions ?? [])},
|
|
325
|
+
segmentForbiddens: ${moduleArray(segmentForbiddenPaths.length)},
|
|
326
|
+
__loadSegmentForbiddens: ${lazyLoaderArray(segmentForbiddenPaths, imports)},
|
|
327
|
+
segmentForbiddenTreePositions: ${JSON.stringify(route.segmentForbiddenTreePositions ?? [])},
|
|
328
|
+
segmentUnauthorizeds: ${moduleArray(segmentUnauthorizedPaths.length)},
|
|
329
|
+
__loadSegmentUnauthorizeds: ${lazyLoaderArray(segmentUnauthorizedPaths, imports)},
|
|
330
|
+
segmentUnauthorizedTreePositions: ${JSON.stringify(route.segmentUnauthorizedTreePositions ?? [])},
|
|
279
331
|
}`;
|
|
280
332
|
});
|
|
281
333
|
}
|