vinext 0.0.50 → 0.0.52
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/dist/build/google-fonts/fallback-metrics-data.js +14031 -0
- package/dist/build/google-fonts/fallback-metrics-data.js.map +1 -0
- package/dist/build/google-fonts/fallback-metrics.d.ts +13 -0
- package/dist/build/google-fonts/fallback-metrics.js +46 -0
- package/dist/build/google-fonts/fallback-metrics.js.map +1 -0
- package/dist/build/precompress.d.ts +13 -2
- package/dist/build/precompress.js +23 -13
- package/dist/build/precompress.js.map +1 -1
- package/dist/build/prerender.d.ts +4 -15
- package/dist/build/prerender.js +83 -53
- package/dist/build/prerender.js.map +1 -1
- package/dist/build/report.d.ts +5 -4
- package/dist/build/report.js +196 -348
- package/dist/build/report.js.map +1 -1
- package/dist/check.js +5 -0
- package/dist/check.js.map +1 -1
- package/dist/cli-args.d.ts +1 -0
- package/dist/cli-args.js +5 -0
- package/dist/cli-args.js.map +1 -1
- package/dist/cli.js +99 -3
- package/dist/cli.js.map +1 -1
- package/dist/client/navigation-runtime.d.ts +47 -0
- package/dist/client/navigation-runtime.js +156 -0
- package/dist/client/navigation-runtime.js.map +1 -0
- package/dist/client/pages-router-link-navigation.d.ts +26 -0
- package/dist/client/pages-router-link-navigation.js +14 -0
- package/dist/client/pages-router-link-navigation.js.map +1 -0
- package/dist/client/vinext-next-data.d.ts +12 -2
- package/dist/client/vinext-next-data.js +50 -1
- package/dist/client/vinext-next-data.js.map +1 -0
- package/dist/client/window-next.d.ts +3 -1
- package/dist/client/window-next.js.map +1 -1
- package/dist/cloudflare/kv-cache-handler.js +2 -1
- package/dist/cloudflare/kv-cache-handler.js.map +1 -1
- package/dist/config/config-matchers.d.ts +63 -16
- package/dist/config/config-matchers.js +143 -8
- package/dist/config/config-matchers.js.map +1 -1
- package/dist/config/dotenv.d.ts +11 -1
- package/dist/config/dotenv.js.map +1 -1
- package/dist/config/next-config.d.ts +107 -5
- package/dist/config/next-config.js +233 -7
- package/dist/config/next-config.js.map +1 -1
- package/dist/config/tsconfig-paths.d.ts +13 -0
- package/dist/config/tsconfig-paths.js +117 -0
- package/dist/config/tsconfig-paths.js.map +1 -0
- package/dist/deploy.js +104 -41
- package/dist/deploy.js.map +1 -1
- package/dist/entries/app-browser-entry.d.ts +2 -2
- package/dist/entries/app-browser-entry.js +34 -3
- package/dist/entries/app-browser-entry.js.map +1 -1
- package/dist/entries/app-rsc-entry.d.ts +19 -1
- package/dist/entries/app-rsc-entry.js +89 -23
- package/dist/entries/app-rsc-entry.js.map +1 -1
- package/dist/entries/app-rsc-manifest.d.ts +10 -0
- package/dist/entries/app-rsc-manifest.js +57 -7
- package/dist/entries/app-rsc-manifest.js.map +1 -1
- package/dist/entries/app-ssr-entry.d.ts +3 -3
- package/dist/entries/app-ssr-entry.js +4 -4
- package/dist/entries/app-ssr-entry.js.map +1 -1
- package/dist/entries/pages-client-entry.js +21 -7
- package/dist/entries/pages-client-entry.js.map +1 -1
- package/dist/entries/pages-server-entry.js +77 -9
- package/dist/entries/pages-server-entry.js.map +1 -1
- package/dist/entries/runtime-entry-module.d.ts +2 -1
- package/dist/entries/runtime-entry-module.js +9 -3
- package/dist/entries/runtime-entry-module.js.map +1 -1
- package/dist/index.js +260 -75
- package/dist/index.js.map +1 -1
- package/dist/plugins/client-reference-dedup.d.ts +15 -2
- package/dist/plugins/client-reference-dedup.js +138 -16
- package/dist/plugins/client-reference-dedup.js.map +1 -1
- package/dist/plugins/css-data-url.d.ts +7 -0
- package/dist/plugins/css-data-url.js +81 -0
- package/dist/plugins/css-data-url.js.map +1 -0
- package/dist/plugins/fonts.d.ts +2 -2
- package/dist/plugins/fonts.js +20 -9
- package/dist/plugins/fonts.js.map +1 -1
- package/dist/plugins/middleware-server-only.d.ts +54 -0
- package/dist/plugins/middleware-server-only.js +91 -0
- package/dist/plugins/middleware-server-only.js.map +1 -0
- package/dist/plugins/optimize-imports.js +4 -4
- package/dist/plugins/optimize-imports.js.map +1 -1
- package/dist/plugins/sass.d.ts +34 -0
- package/dist/plugins/sass.js +22 -0
- package/dist/plugins/sass.js.map +1 -0
- package/dist/plugins/strip-server-exports.js +5 -8
- package/dist/plugins/strip-server-exports.js.map +1 -1
- package/dist/routing/app-route-graph.d.ts +50 -2
- package/dist/routing/app-route-graph.js +140 -16
- package/dist/routing/app-route-graph.js.map +1 -1
- package/dist/routing/app-router.d.ts +2 -2
- package/dist/routing/app-router.js +2 -2
- package/dist/routing/app-router.js.map +1 -1
- package/dist/routing/route-pattern.d.ts +56 -1
- package/dist/routing/route-pattern.js +60 -1
- package/dist/routing/route-pattern.js.map +1 -1
- package/dist/routing/utils.d.ts +2 -1
- package/dist/routing/utils.js +4 -1
- package/dist/routing/utils.js.map +1 -1
- package/dist/server/api-handler.js +139 -37
- package/dist/server/api-handler.js.map +1 -1
- package/dist/server/app-browser-action-result.d.ts +27 -2
- package/dist/server/app-browser-action-result.js +63 -2
- package/dist/server/app-browser-action-result.js.map +1 -1
- package/dist/server/app-browser-entry.js +493 -195
- package/dist/server/app-browser-entry.js.map +1 -1
- package/dist/server/app-browser-hydration.d.ts +13 -1
- package/dist/server/app-browser-hydration.js +9 -1
- package/dist/server/app-browser-hydration.js.map +1 -1
- package/dist/server/app-browser-interception-context.d.ts +24 -0
- package/dist/server/app-browser-interception-context.js +32 -0
- package/dist/server/app-browser-interception-context.js.map +1 -0
- package/dist/server/app-browser-navigation-controller.d.ts +17 -2
- package/dist/server/app-browser-navigation-controller.js +33 -10
- package/dist/server/app-browser-navigation-controller.js.map +1 -1
- package/dist/server/app-browser-popstate.d.ts +16 -0
- package/dist/server/app-browser-popstate.js +17 -0
- package/dist/server/app-browser-popstate.js.map +1 -0
- package/dist/server/app-browser-rsc-redirect.d.ts +29 -0
- package/dist/server/app-browser-rsc-redirect.js +37 -0
- package/dist/server/app-browser-rsc-redirect.js.map +1 -0
- package/dist/server/app-browser-state.d.ts +28 -7
- package/dist/server/app-browser-state.js +63 -27
- package/dist/server/app-browser-state.js.map +1 -1
- package/dist/server/app-browser-stream.d.ts +9 -17
- package/dist/server/app-browser-stream.js +18 -13
- package/dist/server/app-browser-stream.js.map +1 -1
- package/dist/server/app-browser-visible-commit.d.ts +7 -1
- package/dist/server/app-browser-visible-commit.js +39 -5
- package/dist/server/app-browser-visible-commit.js.map +1 -1
- package/dist/server/app-elements-wire.d.ts +43 -6
- package/dist/server/app-elements-wire.js +189 -7
- package/dist/server/app-elements-wire.js.map +1 -1
- package/dist/server/app-elements.d.ts +3 -2
- package/dist/server/app-elements.js +3 -2
- package/dist/server/app-elements.js.map +1 -1
- package/dist/server/app-fallback-renderer.d.ts +10 -1
- package/dist/server/app-fallback-renderer.js +41 -3
- package/dist/server/app-fallback-renderer.js.map +1 -1
- package/dist/server/app-history-state.d.ts +26 -0
- package/dist/server/app-history-state.js +53 -0
- package/dist/server/app-history-state.js.map +1 -0
- package/dist/server/app-middleware.d.ts +13 -0
- package/dist/server/app-middleware.js +3 -1
- package/dist/server/app-middleware.js.map +1 -1
- package/dist/server/app-optimistic-routing.d.ts +54 -0
- package/dist/server/app-optimistic-routing.js +200 -0
- package/dist/server/app-optimistic-routing.js.map +1 -0
- package/dist/server/app-page-boundary-render.d.ts +10 -1
- package/dist/server/app-page-boundary-render.js +13 -6
- package/dist/server/app-page-boundary-render.js.map +1 -1
- package/dist/server/app-page-boundary.js +3 -2
- package/dist/server/app-page-boundary.js.map +1 -1
- package/dist/server/app-page-cache.d.ts +26 -1
- package/dist/server/app-page-cache.js +86 -14
- package/dist/server/app-page-cache.js.map +1 -1
- package/dist/server/app-page-dispatch.d.ts +7 -0
- package/dist/server/app-page-dispatch.js +96 -12
- package/dist/server/app-page-dispatch.js.map +1 -1
- package/dist/server/app-page-element-builder.d.ts +7 -0
- package/dist/server/app-page-element-builder.js +34 -5
- package/dist/server/app-page-element-builder.js.map +1 -1
- package/dist/server/app-page-execution.d.ts +28 -1
- package/dist/server/app-page-execution.js +91 -7
- package/dist/server/app-page-execution.js.map +1 -1
- package/dist/server/app-page-head.d.ts +7 -0
- package/dist/server/app-page-head.js +23 -3
- package/dist/server/app-page-head.js.map +1 -1
- package/dist/server/app-page-probe.d.ts +23 -1
- package/dist/server/app-page-probe.js +29 -1
- package/dist/server/app-page-probe.js.map +1 -1
- package/dist/server/app-page-render-observation.d.ts +35 -0
- package/dist/server/app-page-render-observation.js +68 -0
- package/dist/server/app-page-render-observation.js.map +1 -0
- package/dist/server/app-page-render.d.ts +7 -1
- package/dist/server/app-page-render.js +81 -4
- package/dist/server/app-page-render.js.map +1 -1
- package/dist/server/app-page-request.d.ts +1 -0
- package/dist/server/app-page-request.js.map +1 -1
- package/dist/server/app-page-response.js +7 -5
- package/dist/server/app-page-response.js.map +1 -1
- package/dist/server/app-page-route-wiring.d.ts +3 -1
- package/dist/server/app-page-route-wiring.js +59 -24
- package/dist/server/app-page-route-wiring.js.map +1 -1
- package/dist/server/app-page-stream.d.ts +5 -0
- package/dist/server/app-page-stream.js +2 -0
- package/dist/server/app-page-stream.js.map +1 -1
- package/dist/server/app-prerender-static-params.d.ts +2 -1
- package/dist/server/app-prerender-static-params.js +44 -8
- package/dist/server/app-prerender-static-params.js.map +1 -1
- package/dist/server/app-route-handler-cache.d.ts +2 -2
- package/dist/server/app-route-handler-cache.js +3 -2
- package/dist/server/app-route-handler-cache.js.map +1 -1
- package/dist/server/app-route-handler-dispatch.d.ts +6 -1
- package/dist/server/app-route-handler-dispatch.js +1 -1
- package/dist/server/app-route-handler-dispatch.js.map +1 -1
- package/dist/server/app-route-handler-execution.d.ts +17 -2
- package/dist/server/app-route-handler-execution.js.map +1 -1
- package/dist/server/app-route-handler-response.js +5 -4
- package/dist/server/app-route-handler-response.js.map +1 -1
- package/dist/server/app-router-entry.js +7 -15
- package/dist/server/app-router-entry.js.map +1 -1
- package/dist/server/app-rsc-cache-busting.d.ts +19 -1
- package/dist/server/app-rsc-cache-busting.js +36 -1
- package/dist/server/app-rsc-cache-busting.js.map +1 -1
- package/dist/server/app-rsc-embedded-chunks.d.ts +9 -0
- package/dist/server/app-rsc-embedded-chunks.js +34 -0
- package/dist/server/app-rsc-embedded-chunks.js.map +1 -0
- package/dist/server/app-rsc-errors.d.ts +4 -1
- package/dist/server/app-rsc-errors.js +1 -1
- package/dist/server/app-rsc-errors.js.map +1 -1
- package/dist/server/app-rsc-handler.d.ts +21 -5
- package/dist/server/app-rsc-handler.js +38 -15
- package/dist/server/app-rsc-handler.js.map +1 -1
- package/dist/server/app-rsc-render-mode.d.ts +4 -3
- package/dist/server/app-rsc-render-mode.js +7 -1
- package/dist/server/app-rsc-render-mode.js.map +1 -1
- package/dist/server/app-rsc-request-normalization.d.ts +4 -1
- package/dist/server/app-rsc-request-normalization.js +4 -1
- package/dist/server/app-rsc-request-normalization.js.map +1 -1
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -1
- package/dist/server/app-rsc-response-finalizer.js +10 -3
- package/dist/server/app-rsc-response-finalizer.js.map +1 -1
- package/dist/server/app-rsc-route-matching.d.ts +23 -0
- package/dist/server/app-rsc-route-matching.js +47 -25
- package/dist/server/app-rsc-route-matching.js.map +1 -1
- package/dist/server/app-server-action-execution.d.ts +35 -3
- package/dist/server/app-server-action-execution.js +87 -33
- package/dist/server/app-server-action-execution.js.map +1 -1
- package/dist/server/app-ssr-entry.d.ts +3 -0
- package/dist/server/app-ssr-entry.js +83 -58
- package/dist/server/app-ssr-entry.js.map +1 -1
- package/dist/server/app-ssr-error-meta.d.ts +14 -0
- package/dist/server/app-ssr-error-meta.js +50 -0
- package/dist/server/app-ssr-error-meta.js.map +1 -0
- package/dist/server/app-ssr-stream.d.ts +7 -2
- package/dist/server/app-ssr-stream.js +26 -15
- package/dist/server/app-ssr-stream.js.map +1 -1
- package/dist/server/artifact-compatibility.d.ts +13 -3
- package/dist/server/artifact-compatibility.js +12 -8
- package/dist/server/artifact-compatibility.js.map +1 -1
- package/dist/server/cache-headers.d.ts +7 -0
- package/dist/server/cache-headers.js +19 -0
- package/dist/server/cache-headers.js.map +1 -0
- package/dist/server/cache-proof.d.ts +170 -5
- package/dist/server/cache-proof.js +472 -18
- package/dist/server/cache-proof.js.map +1 -1
- package/dist/server/client-reuse-manifest.d.ts +99 -0
- package/dist/server/client-reuse-manifest.js +212 -0
- package/dist/server/client-reuse-manifest.js.map +1 -0
- package/dist/server/default-global-error-module.d.ts +20 -0
- package/dist/server/default-global-error-module.js +20 -0
- package/dist/server/default-global-error-module.js.map +1 -0
- package/dist/server/dev-lockfile.d.ts +110 -0
- package/dist/server/dev-lockfile.js +180 -0
- package/dist/server/dev-lockfile.js.map +1 -0
- package/dist/server/dev-server.d.ts +9 -1
- package/dist/server/dev-server.js +76 -19
- package/dist/server/dev-server.js.map +1 -1
- package/dist/server/edge-api-runtime.d.ts +5 -0
- package/dist/server/edge-api-runtime.js +8 -0
- package/dist/server/edge-api-runtime.js.map +1 -0
- package/dist/server/file-based-metadata.d.ts +13 -0
- package/dist/server/file-based-metadata.js +49 -2
- package/dist/server/file-based-metadata.js.map +1 -1
- package/dist/server/headers.d.ts +20 -1
- package/dist/server/headers.js +22 -2
- package/dist/server/headers.js.map +1 -1
- package/dist/server/html.js +1 -1
- package/dist/server/html.js.map +1 -1
- package/dist/server/http-error-responses.d.ts +26 -1
- package/dist/server/http-error-responses.js +32 -2
- package/dist/server/http-error-responses.js.map +1 -1
- package/dist/server/isr-cache.d.ts +8 -3
- package/dist/server/isr-cache.js +24 -6
- package/dist/server/isr-cache.js.map +1 -1
- package/dist/server/metadata-route-response.js +22 -5
- package/dist/server/metadata-route-response.js.map +1 -1
- package/dist/server/metadata-routes.js +27 -8
- package/dist/server/metadata-routes.js.map +1 -1
- package/dist/server/middleware-runtime.d.ts +15 -0
- package/dist/server/middleware-runtime.js +60 -7
- package/dist/server/middleware-runtime.js.map +1 -1
- package/dist/server/middleware.d.ts +13 -1
- package/dist/server/middleware.js +16 -2
- package/dist/server/middleware.js.map +1 -1
- package/dist/server/navigation-planner.d.ts +26 -6
- package/dist/server/navigation-planner.js +358 -24
- package/dist/server/navigation-planner.js.map +1 -1
- package/dist/server/navigation-trace.d.ts +9 -1
- package/dist/server/navigation-trace.js +8 -0
- package/dist/server/navigation-trace.js.map +1 -1
- package/dist/server/normalize-path.d.ts +2 -1
- package/dist/server/normalize-path.js +4 -1
- package/dist/server/normalize-path.js.map +1 -1
- package/dist/server/pages-api-route.d.ts +27 -1
- package/dist/server/pages-api-route.js +25 -3
- package/dist/server/pages-api-route.js.map +1 -1
- package/dist/server/pages-data-route.d.ts +77 -0
- package/dist/server/pages-data-route.js +97 -0
- package/dist/server/pages-data-route.js.map +1 -0
- package/dist/server/pages-i18n.d.ts +51 -1
- package/dist/server/pages-i18n.js +61 -1
- package/dist/server/pages-i18n.js.map +1 -1
- package/dist/server/pages-page-data.d.ts +32 -4
- package/dist/server/pages-page-data.js +52 -19
- package/dist/server/pages-page-data.js.map +1 -1
- package/dist/server/pages-page-response.d.ts +11 -1
- package/dist/server/pages-page-response.js +6 -4
- package/dist/server/pages-page-response.js.map +1 -1
- package/dist/server/prod-server.d.ts +26 -1
- package/dist/server/prod-server.js +150 -44
- package/dist/server/prod-server.js.map +1 -1
- package/dist/server/request-pipeline.d.ts +11 -2
- package/dist/server/request-pipeline.js +28 -11
- package/dist/server/request-pipeline.js.map +1 -1
- package/dist/server/seed-cache.d.ts +12 -31
- package/dist/server/seed-cache.js +22 -35
- package/dist/server/seed-cache.js.map +1 -1
- package/dist/server/server-action-not-found.d.ts +16 -3
- package/dist/server/server-action-not-found.js +27 -4
- package/dist/server/server-action-not-found.js.map +1 -1
- package/dist/server/server-globals.d.ts +5 -0
- package/dist/server/server-globals.js +37 -0
- package/dist/server/server-globals.js.map +1 -0
- package/dist/server/skip-cache-proof.d.ts +41 -0
- package/dist/server/skip-cache-proof.js +101 -0
- package/dist/server/skip-cache-proof.js.map +1 -0
- package/dist/server/static-file-cache.d.ts +1 -1
- package/dist/server/static-file-cache.js +7 -6
- package/dist/server/static-file-cache.js.map +1 -1
- package/dist/shims/cache-runtime.d.ts +19 -2
- package/dist/shims/cache-runtime.js +67 -11
- package/dist/shims/cache-runtime.js.map +1 -1
- package/dist/shims/cache.d.ts +5 -18
- package/dist/shims/cache.js +2 -0
- package/dist/shims/cache.js.map +1 -1
- package/dist/shims/client-locale.d.ts +15 -0
- package/dist/shims/client-locale.js +13 -0
- package/dist/shims/client-locale.js.map +1 -0
- package/dist/shims/default-global-error.d.ts +32 -0
- package/dist/shims/default-global-error.js +181 -0
- package/dist/shims/default-global-error.js.map +1 -0
- package/dist/shims/document.d.ts +59 -3
- package/dist/shims/document.js +36 -5
- package/dist/shims/document.js.map +1 -1
- package/dist/shims/error-boundary.d.ts +2 -2
- package/dist/shims/error-boundary.js +6 -8
- package/dist/shims/error-boundary.js.map +1 -1
- package/dist/shims/error.d.ts +18 -1
- package/dist/shims/error.js +56 -1
- package/dist/shims/error.js.map +1 -1
- package/dist/shims/fetch-cache.d.ts +4 -1
- package/dist/shims/fetch-cache.js +40 -5
- package/dist/shims/fetch-cache.js.map +1 -1
- package/dist/shims/font-google-base.d.ts +22 -8
- package/dist/shims/font-google-base.js +41 -71
- package/dist/shims/font-google-base.js.map +1 -1
- package/dist/shims/font-local.d.ts +3 -20
- package/dist/shims/font-local.js +23 -75
- package/dist/shims/font-local.js.map +1 -1
- package/dist/shims/font-utils.d.ts +51 -0
- package/dist/shims/font-utils.js +97 -0
- package/dist/shims/font-utils.js.map +1 -0
- package/dist/shims/form.js +13 -6
- package/dist/shims/form.js.map +1 -1
- package/dist/shims/hash-scroll.d.ts +7 -0
- package/dist/shims/hash-scroll.js +30 -0
- package/dist/shims/hash-scroll.js.map +1 -0
- package/dist/shims/headers.d.ts +8 -11
- package/dist/shims/headers.js +22 -2
- package/dist/shims/headers.js.map +1 -1
- package/dist/shims/image.d.ts +1 -0
- package/dist/shims/image.js +144 -78
- package/dist/shims/image.js.map +1 -1
- package/dist/shims/internal/app-router-context.d.ts +6 -6
- package/dist/shims/internal/app-router-context.js +17 -6
- package/dist/shims/internal/app-router-context.js.map +1 -1
- package/dist/shims/link-prefetch.d.ts +9 -1
- package/dist/shims/link-prefetch.js +11 -6
- package/dist/shims/link-prefetch.js.map +1 -1
- package/dist/shims/link.d.ts +33 -5
- package/dist/shims/link.js +205 -50
- package/dist/shims/link.js.map +1 -1
- package/dist/shims/metadata.d.ts +16 -30
- package/dist/shims/metadata.js +91 -32
- package/dist/shims/metadata.js.map +1 -1
- package/dist/shims/navigation.d.ts +164 -17
- package/dist/shims/navigation.js +355 -84
- package/dist/shims/navigation.js.map +1 -1
- package/dist/shims/navigation.react-server.d.ts +3 -2
- package/dist/shims/navigation.react-server.js +5 -2
- package/dist/shims/navigation.react-server.js.map +1 -1
- package/dist/shims/og.d.ts +18 -2
- package/dist/shims/og.js +49 -1
- package/dist/shims/og.js.map +1 -0
- package/dist/shims/pages-router-runtime.d.ts +7 -0
- package/dist/shims/pages-router-runtime.js +16 -0
- package/dist/shims/pages-router-runtime.js.map +1 -0
- package/dist/shims/request-state-types.d.ts +1 -1
- package/dist/shims/root-params.d.ts +3 -1
- package/dist/shims/root-params.js +11 -3
- package/dist/shims/root-params.js.map +1 -1
- package/dist/shims/router-state.d.ts +1 -0
- package/dist/shims/router-state.js.map +1 -1
- package/dist/shims/router.d.ts +40 -7
- package/dist/shims/router.js +355 -250
- package/dist/shims/router.js.map +1 -1
- package/dist/shims/script.js +110 -32
- package/dist/shims/script.js.map +1 -1
- package/dist/shims/server.d.ts +21 -4
- package/dist/shims/server.js +31 -10
- package/dist/shims/server.js.map +1 -1
- package/dist/shims/slot.d.ts +1 -0
- package/dist/shims/slot.js +45 -1
- package/dist/shims/slot.js.map +1 -1
- package/dist/shims/unified-request-context.d.ts +1 -1
- package/dist/shims/unified-request-context.js +2 -0
- package/dist/shims/unified-request-context.js.map +1 -1
- package/dist/shims/unrecognized-action-error.d.ts +35 -0
- package/dist/shims/unrecognized-action-error.js +41 -0
- package/dist/shims/unrecognized-action-error.js.map +1 -0
- package/dist/shims/url-safety.d.ts +23 -1
- package/dist/shims/url-safety.js +29 -2
- package/dist/shims/url-safety.js.map +1 -1
- package/dist/shims/url-utils.d.ts +21 -1
- package/dist/shims/url-utils.js +67 -3
- package/dist/shims/url-utils.js.map +1 -1
- package/dist/typegen.d.ts +10 -0
- package/dist/typegen.js +242 -0
- package/dist/typegen.js.map +1 -0
- package/dist/utils/asset-prefix.d.ts +97 -0
- package/dist/utils/asset-prefix.js +124 -0
- package/dist/utils/asset-prefix.js.map +1 -0
- package/dist/utils/base-path.d.ts +7 -1
- package/dist/utils/base-path.js +10 -1
- package/dist/utils/base-path.js.map +1 -1
- package/dist/utils/cache-control-metadata.d.ts +2 -1
- package/dist/utils/cache-control-metadata.js +1 -3
- package/dist/utils/cache-control-metadata.js.map +1 -1
- package/dist/utils/domain-locale.d.ts +2 -1
- package/dist/utils/domain-locale.js +9 -1
- package/dist/utils/domain-locale.js.map +1 -1
- package/dist/utils/lazy-chunks.d.ts +1 -1
- package/dist/utils/lazy-chunks.js +1 -1
- package/dist/utils/lazy-chunks.js.map +1 -1
- package/dist/utils/navigation-signal.d.ts +1 -2
- package/dist/utils/navigation-signal.js +1 -1
- package/dist/utils/navigation-signal.js.map +1 -1
- package/dist/utils/prerender-output-paths.d.ts +15 -0
- package/dist/utils/prerender-output-paths.js +24 -0
- package/dist/utils/prerender-output-paths.js.map +1 -0
- package/dist/utils/query.d.ts +17 -1
- package/dist/utils/query.js +36 -1
- package/dist/utils/query.js.map +1 -1
- package/dist/utils/record.d.ts +5 -0
- package/dist/utils/record.js +8 -0
- package/dist/utils/record.js.map +1 -0
- package/dist/utils/sorted-array.d.ts +9 -0
- package/dist/utils/sorted-array.js +22 -0
- package/dist/utils/sorted-array.js.map +1 -0
- package/package.json +13 -5
|
@@ -32,6 +32,9 @@ function createAppRouteGraphSlotId(slotName, ownerTreePath) {
|
|
|
32
32
|
function createAppRouteGraphDefaultId(slotId) {
|
|
33
33
|
return `default:${slotId}`;
|
|
34
34
|
}
|
|
35
|
+
function createAppRouteGraphInterceptionId(slotId, sourcePattern, targetPattern) {
|
|
36
|
+
return `interception:${slotId}:${sourcePattern}->${targetPattern}`;
|
|
37
|
+
}
|
|
35
38
|
function createAppRouteGraphRootBoundaryId(treePath) {
|
|
36
39
|
return `root-boundary:${treePath}`;
|
|
37
40
|
}
|
|
@@ -59,8 +62,10 @@ function createStaticSegmentGraph(routes) {
|
|
|
59
62
|
const slots = /* @__PURE__ */ new Map();
|
|
60
63
|
const defaults = /* @__PURE__ */ new Map();
|
|
61
64
|
const slotBindings = /* @__PURE__ */ new Map();
|
|
65
|
+
const interceptions = /* @__PURE__ */ new Map();
|
|
62
66
|
const boundaries = /* @__PURE__ */ new Map();
|
|
63
67
|
const rootBoundaries = /* @__PURE__ */ new Map();
|
|
68
|
+
const routeIdByPattern = createRouteManifestRouteIdByPattern(routes);
|
|
64
69
|
for (const route of routes) {
|
|
65
70
|
routeEntries.set(route.ids.route, {
|
|
66
71
|
id: route.ids.route,
|
|
@@ -92,9 +97,12 @@ function createStaticSegmentGraph(routes) {
|
|
|
92
97
|
const treePath = createAppRouteGraphTreePath(route.routeSegments, treePosition);
|
|
93
98
|
const existingLayout = layouts.get(layoutId);
|
|
94
99
|
if (existingLayout) assertRouteManifestRootBoundary("layout", route, layoutId, existingLayout.rootBoundaryId);
|
|
100
|
+
const layoutRouteParts = convertTreePathToRouteParts(treePath);
|
|
95
101
|
const layout = {
|
|
96
102
|
id: layoutId,
|
|
97
103
|
treePath,
|
|
104
|
+
patternParts: layoutRouteParts.urlSegments,
|
|
105
|
+
paramNames: layoutRouteParts.params,
|
|
98
106
|
rootBoundaryId: route.ids.rootBoundary
|
|
99
107
|
};
|
|
100
108
|
layouts.set(layoutId, layout);
|
|
@@ -135,6 +143,20 @@ function createStaticSegmentGraph(routes) {
|
|
|
135
143
|
for (const slot of route.parallelSlots) {
|
|
136
144
|
const ownerLayoutId = findSlotOwnerLayoutId(route, slot);
|
|
137
145
|
const defaultId = slot.defaultPath ? createAppRouteGraphDefaultId(slot.id) : null;
|
|
146
|
+
if (slot.layoutPath) {
|
|
147
|
+
const slotLayoutTreePath = createSlotLayoutTreePath(slot);
|
|
148
|
+
const slotLayoutId = createAppRouteGraphLayoutId(slotLayoutTreePath);
|
|
149
|
+
const existingLayout = layouts.get(slotLayoutId);
|
|
150
|
+
if (existingLayout) assertRouteManifestRootBoundary("layout", route, slotLayoutId, existingLayout.rootBoundaryId);
|
|
151
|
+
const slotLayoutRouteParts = convertTreePathToRouteParts(slotLayoutTreePath);
|
|
152
|
+
layouts.set(slotLayoutId, {
|
|
153
|
+
id: slotLayoutId,
|
|
154
|
+
treePath: slotLayoutTreePath,
|
|
155
|
+
patternParts: slotLayoutRouteParts.urlSegments,
|
|
156
|
+
paramNames: slotLayoutRouteParts.params,
|
|
157
|
+
rootBoundaryId: route.ids.rootBoundary
|
|
158
|
+
});
|
|
159
|
+
}
|
|
138
160
|
slots.set(slot.id, {
|
|
139
161
|
id: slot.id,
|
|
140
162
|
key: slot.key,
|
|
@@ -155,6 +177,13 @@ function createStaticSegmentGraph(routes) {
|
|
|
155
177
|
});
|
|
156
178
|
const binding = createRouteManifestSlotBinding(route, slot, ownerLayoutId, defaultId);
|
|
157
179
|
slotBindings.set(binding.id, binding);
|
|
180
|
+
addRouteManifestInterceptionFacts({
|
|
181
|
+
interceptions,
|
|
182
|
+
ownerLayoutId,
|
|
183
|
+
route,
|
|
184
|
+
routeIdByPattern,
|
|
185
|
+
slot
|
|
186
|
+
});
|
|
158
187
|
}
|
|
159
188
|
}
|
|
160
189
|
return {
|
|
@@ -166,10 +195,15 @@ function createStaticSegmentGraph(routes) {
|
|
|
166
195
|
slots,
|
|
167
196
|
defaults,
|
|
168
197
|
slotBindings,
|
|
198
|
+
interceptions,
|
|
199
|
+
interceptionsBySlotId: createRouteManifestInterceptionsBySlotId(interceptions),
|
|
169
200
|
boundaries,
|
|
170
201
|
rootBoundaries
|
|
171
202
|
};
|
|
172
203
|
}
|
|
204
|
+
function createRouteManifestRouteIdByPattern(routes) {
|
|
205
|
+
return new Map(routes.map((route) => [route.pattern, route.ids.route]));
|
|
206
|
+
}
|
|
173
207
|
function findRouteManifestOwnerLayoutId(route, treePosition) {
|
|
174
208
|
const layoutIndex = route.layoutTreePositions.indexOf(treePosition);
|
|
175
209
|
return route.ids.layouts[layoutIndex] ?? null;
|
|
@@ -178,6 +212,11 @@ function findSlotOwnerLayoutId(route, slot) {
|
|
|
178
212
|
if (slot.layoutIndex < 0) return null;
|
|
179
213
|
return route.ids.layouts[slot.layoutIndex] ?? null;
|
|
180
214
|
}
|
|
215
|
+
function createSlotLayoutTreePath(slot) {
|
|
216
|
+
const slotSegment = `@${slot.name}`;
|
|
217
|
+
if (slot.ownerTreePath === "/") return `/${slotSegment}`;
|
|
218
|
+
return `${slot.ownerTreePath}/${slotSegment}`;
|
|
219
|
+
}
|
|
181
220
|
function createRouteManifestSlotBinding(route, slot, ownerLayoutId, defaultId) {
|
|
182
221
|
const state = getRouteManifestSlotBindingState(slot);
|
|
183
222
|
const binding = {
|
|
@@ -193,6 +232,35 @@ function createRouteManifestSlotBinding(route, slot, ownerLayoutId, defaultId) {
|
|
|
193
232
|
if (slot.slotParamNames) binding.slotParamNames = [...slot.slotParamNames];
|
|
194
233
|
return binding;
|
|
195
234
|
}
|
|
235
|
+
function addRouteManifestInterceptionFacts(input) {
|
|
236
|
+
for (const interception of input.slot.interceptingRoutes) {
|
|
237
|
+
const id = createAppRouteGraphInterceptionId(input.slot.id, interception.sourceMatchPattern, interception.targetPattern);
|
|
238
|
+
input.interceptions.set(id, {
|
|
239
|
+
id,
|
|
240
|
+
sourcePattern: interception.sourceMatchPattern,
|
|
241
|
+
sourcePatternParts: splitRouteManifestPatternParts(interception.sourceMatchPattern),
|
|
242
|
+
targetPattern: interception.targetPattern,
|
|
243
|
+
targetPatternParts: splitRouteManifestPatternParts(interception.targetPattern),
|
|
244
|
+
slotId: input.slot.id,
|
|
245
|
+
ownerLayoutId: input.ownerLayoutId,
|
|
246
|
+
interceptingRouteId: input.routeIdByPattern.get(interception.sourceMatchPattern) ?? null,
|
|
247
|
+
targetRouteId: input.routeIdByPattern.get(interception.targetPattern) ?? null
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
function createRouteManifestInterceptionsBySlotId(interceptions) {
|
|
252
|
+
const interceptionsBySlotId = /* @__PURE__ */ new Map();
|
|
253
|
+
for (const interception of interceptions.values()) {
|
|
254
|
+
const existing = interceptionsBySlotId.get(interception.slotId);
|
|
255
|
+
if (existing) existing.push(interception);
|
|
256
|
+
else interceptionsBySlotId.set(interception.slotId, [interception]);
|
|
257
|
+
}
|
|
258
|
+
for (const slotInterceptions of interceptionsBySlotId.values()) slotInterceptions.sort((left, right) => compareStableStrings(left.id, right.id));
|
|
259
|
+
return new Map(Array.from(interceptionsBySlotId.entries()).sort(([left], [right]) => compareStableStrings(left, right)));
|
|
260
|
+
}
|
|
261
|
+
function splitRouteManifestPatternParts(pattern) {
|
|
262
|
+
return pattern.split("/").filter((part) => part.length > 0);
|
|
263
|
+
}
|
|
196
264
|
function getRouteManifestSlotBindingState(slot) {
|
|
197
265
|
if (slot.pagePath) return "active";
|
|
198
266
|
if (slot.defaultPath) return "default";
|
|
@@ -252,6 +320,8 @@ function createRouteManifestGraphVersion(segmentGraph) {
|
|
|
252
320
|
slots: sortedMapValues(segmentGraph.slots),
|
|
253
321
|
defaults: sortedMapValues(segmentGraph.defaults),
|
|
254
322
|
slotBindings: sortedMapValues(segmentGraph.slotBindings),
|
|
323
|
+
interceptions: sortedMapValues(segmentGraph.interceptions),
|
|
324
|
+
interceptionsBySlotId: sortedMapValues(segmentGraph.interceptionsBySlotId),
|
|
255
325
|
boundaries: sortedMapValues(segmentGraph.boundaries),
|
|
256
326
|
rootBoundaries: sortedMapValues(segmentGraph.rootBoundaries)
|
|
257
327
|
};
|
|
@@ -259,7 +329,7 @@ function createRouteManifestGraphVersion(segmentGraph) {
|
|
|
259
329
|
}
|
|
260
330
|
async function buildAppRouteGraph(appDir, matcher) {
|
|
261
331
|
const routes = [];
|
|
262
|
-
const excludeDir = (name) => name.startsWith("@") || name.startsWith("_");
|
|
332
|
+
const excludeDir = (name) => name.startsWith("@") || name.startsWith("_") || isInterceptionMarkerDir(name);
|
|
263
333
|
for await (const file of scanWithExtensions("**/page", appDir, matcher.extensions, excludeDir)) {
|
|
264
334
|
const route = fileToAppRoute(file, appDir, "page", matcher);
|
|
265
335
|
if (route) routes.push(route);
|
|
@@ -269,17 +339,22 @@ async function buildAppRouteGraph(appDir, matcher) {
|
|
|
269
339
|
if (route) routes.push(route);
|
|
270
340
|
}
|
|
271
341
|
const routePatterns = new Set(routes.map((route) => route.pattern));
|
|
342
|
+
const ghostParentRoutes = [];
|
|
272
343
|
for await (const file of scanWithExtensions("**/layout", appDir, matcher.extensions, excludeDir)) {
|
|
273
344
|
const dir = path.dirname(file);
|
|
274
345
|
const routeDir = dir === "." ? appDir : path.join(appDir, dir);
|
|
275
346
|
if (!hasParallelSlotDirectory(routeDir)) continue;
|
|
276
347
|
if (discoverParallelSlots(routeDir, appDir, matcher).length === 0) continue;
|
|
277
348
|
const route = directoryToAppRoute(dir, appDir, matcher, null, null);
|
|
278
|
-
if (!route
|
|
349
|
+
if (!route) continue;
|
|
350
|
+
if (routePatterns.has(route.pattern)) {
|
|
351
|
+
ghostParentRoutes.push(route);
|
|
352
|
+
continue;
|
|
353
|
+
}
|
|
279
354
|
routes.push(route);
|
|
280
355
|
routePatterns.add(route.pattern);
|
|
281
356
|
}
|
|
282
|
-
const slotSubRoutes = discoverSlotSubRoutes(routes, matcher);
|
|
357
|
+
const slotSubRoutes = discoverSlotSubRoutes(routes, matcher, ghostParentRoutes);
|
|
283
358
|
routes.push(...slotSubRoutes);
|
|
284
359
|
validatePageRouteConflicts(routes, appDir);
|
|
285
360
|
validateRoutePatterns(routes.map((route) => route.pattern));
|
|
@@ -333,7 +408,7 @@ function formatAppFilePath(filePath, appDir) {
|
|
|
333
408
|
* - @audience slot → @audience/demographics/page.tsx (matched)
|
|
334
409
|
* - other slots → their default.tsx (fallback)
|
|
335
410
|
*/
|
|
336
|
-
function discoverSlotSubRoutes(routes, matcher) {
|
|
411
|
+
function discoverSlotSubRoutes(routes, matcher, ghostParents = []) {
|
|
337
412
|
const syntheticRoutes = [];
|
|
338
413
|
const routesByPattern = new Map(routes.map((r) => [r.pattern, r]));
|
|
339
414
|
const applySlotSubPages = (route, slotPages, rawSegments) => {
|
|
@@ -347,7 +422,8 @@ function discoverSlotSubRoutes(routes, matcher) {
|
|
|
347
422
|
return slot;
|
|
348
423
|
});
|
|
349
424
|
};
|
|
350
|
-
|
|
425
|
+
const allParents = [...routes, ...ghostParents];
|
|
426
|
+
for (const parentRoute of allParents) {
|
|
351
427
|
if (parentRoute.parallelSlots.length === 0) continue;
|
|
352
428
|
const isLayoutOnlyUiRoute = !parentRoute.pagePath && !parentRoute.routePath && parentRoute.layouts.length > 0;
|
|
353
429
|
if (!parentRoute.pagePath && !isLayoutOnlyUiRoute) continue;
|
|
@@ -584,6 +660,18 @@ function createAppRouteGraphTreePath(routeSegments, treePosition) {
|
|
|
584
660
|
if (treePathSegments.length === 0) return "/";
|
|
585
661
|
return `/${treePathSegments.join("/")}`;
|
|
586
662
|
}
|
|
663
|
+
function convertTreePathToRouteParts(treePath) {
|
|
664
|
+
if (treePath === "/") return {
|
|
665
|
+
urlSegments: [],
|
|
666
|
+
params: []
|
|
667
|
+
};
|
|
668
|
+
const routeParts = convertSegmentsToRouteParts(treePath.split("/").filter(Boolean));
|
|
669
|
+
if (!routeParts) throw new Error(`Invalid App Router layout tree path "${treePath}".`);
|
|
670
|
+
return {
|
|
671
|
+
urlSegments: routeParts.urlSegments,
|
|
672
|
+
params: routeParts.params
|
|
673
|
+
};
|
|
674
|
+
}
|
|
587
675
|
/**
|
|
588
676
|
* Compute the tree position (directory depth from app root) for each layout.
|
|
589
677
|
* Root layout = 0, a layout at app/blog/ = 1, app/blog/(group)/ = 2.
|
|
@@ -943,6 +1031,18 @@ const INTERCEPT_PATTERNS = [
|
|
|
943
1031
|
}
|
|
944
1032
|
];
|
|
945
1033
|
/**
|
|
1034
|
+
* Check whether a directory name begins with an interception route marker.
|
|
1035
|
+
*
|
|
1036
|
+
* Matches the prefixes listed in {@link INTERCEPT_PATTERNS}: `(.)`, `(..)`,
|
|
1037
|
+
* `(...)`, `(..)(..)`. The marker is not a real URL segment, so the global
|
|
1038
|
+
* page/route scanner must skip these directories to avoid materialising
|
|
1039
|
+
* literal patterns like `/templates/(..)showcase`. Interception target
|
|
1040
|
+
* registration happens separately via {@link discoverInterceptingRoutes}.
|
|
1041
|
+
*/
|
|
1042
|
+
function isInterceptionMarkerDir(name) {
|
|
1043
|
+
return matchInterceptConvention(name) !== null;
|
|
1044
|
+
}
|
|
1045
|
+
/**
|
|
946
1046
|
* Discover intercepting routes inside a parallel slot directory.
|
|
947
1047
|
*
|
|
948
1048
|
* Intercepting routes use conventions like (.)photo, (..)feed, (...), etc.
|
|
@@ -972,7 +1072,7 @@ function scanForInterceptingPages(currentDir, routeDir, appDir, results, matcher
|
|
|
972
1072
|
if (interceptMatch) {
|
|
973
1073
|
const restOfName = entry.name.slice(interceptMatch.prefix.length);
|
|
974
1074
|
const interceptDir = path.join(currentDir, entry.name);
|
|
975
|
-
collectInterceptingPages(interceptDir, interceptDir, interceptMatch.convention, restOfName, routeDir, appDir, results, matcher);
|
|
1075
|
+
collectInterceptingPages(interceptDir, interceptDir, interceptMatch.convention, restOfName, routeDir, appDir, currentDir, results, matcher);
|
|
976
1076
|
} else scanForInterceptingPages(path.join(currentDir, entry.name), routeDir, appDir, results, matcher);
|
|
977
1077
|
}
|
|
978
1078
|
}
|
|
@@ -987,29 +1087,53 @@ function matchInterceptConvention(name) {
|
|
|
987
1087
|
* Collect page.tsx files inside an intercepting route directory tree
|
|
988
1088
|
* and compute their target URL patterns.
|
|
989
1089
|
*/
|
|
990
|
-
function collectInterceptingPages(currentDir, interceptRoot, convention, interceptSegment, routeDir, appDir, results, matcher, parentLayoutPaths = []) {
|
|
1090
|
+
function collectInterceptingPages(currentDir, interceptRoot, convention, interceptSegment, routeDir, appDir, interceptParentDir, results, matcher, parentLayoutPaths = []) {
|
|
991
1091
|
const currentLayoutPath = findFile(currentDir, "layout", matcher);
|
|
992
1092
|
const layoutPaths = currentLayoutPath ? [...parentLayoutPaths, currentLayoutPath] : parentLayoutPaths;
|
|
993
1093
|
const page = findFile(currentDir, "page", matcher);
|
|
994
1094
|
if (page) {
|
|
995
1095
|
const targetPattern = computeInterceptTarget(convention, interceptSegment, currentDir, interceptRoot, routeDir, appDir);
|
|
996
|
-
if (targetPattern)
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1096
|
+
if (targetPattern) {
|
|
1097
|
+
const sourceMatchPattern = computeInterceptSourceMatchPattern(interceptParentDir, appDir);
|
|
1098
|
+
results.push({
|
|
1099
|
+
convention,
|
|
1100
|
+
layoutPaths: [...layoutPaths],
|
|
1101
|
+
targetPattern: targetPattern.pattern,
|
|
1102
|
+
sourceMatchPattern,
|
|
1103
|
+
pagePath: page,
|
|
1104
|
+
params: targetPattern.params
|
|
1105
|
+
});
|
|
1106
|
+
}
|
|
1003
1107
|
}
|
|
1004
1108
|
if (!fs.existsSync(currentDir)) return;
|
|
1005
1109
|
const entries = fs.readdirSync(currentDir, { withFileTypes: true });
|
|
1006
1110
|
for (const entry of entries) {
|
|
1007
1111
|
if (!entry.isDirectory()) continue;
|
|
1008
1112
|
if (entry.name.startsWith("_")) continue;
|
|
1009
|
-
collectInterceptingPages(path.join(currentDir, entry.name), interceptRoot, convention, interceptSegment, routeDir, appDir, results, matcher, layoutPaths);
|
|
1113
|
+
collectInterceptingPages(path.join(currentDir, entry.name), interceptRoot, convention, interceptSegment, routeDir, appDir, interceptParentDir, results, matcher, layoutPaths);
|
|
1010
1114
|
}
|
|
1011
1115
|
}
|
|
1012
1116
|
/**
|
|
1117
|
+
* Compute the URL pattern for the *intercepting route* — the path that
|
|
1118
|
+
* owns the slot containing the interception marker. Route groups (`(name)`)
|
|
1119
|
+
* and parallel slots (`@slot`) are stripped because Next.js'
|
|
1120
|
+
* `normalizeAppPath` treats them as invisible in the URL.
|
|
1121
|
+
*
|
|
1122
|
+
* Mirrors Next.js' computation in `extractInterceptionRouteInformation`:
|
|
1123
|
+
* `interceptingRoute = normalizeAppPath(path.split(marker, 2)[0])`.
|
|
1124
|
+
*
|
|
1125
|
+
* Returns `/` for the app root.
|
|
1126
|
+
*
|
|
1127
|
+
* @see https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/router/utils/interception-routes.ts
|
|
1128
|
+
*/
|
|
1129
|
+
function computeInterceptSourceMatchPattern(interceptParentDir, appDir) {
|
|
1130
|
+
const segments = path.relative(appDir, interceptParentDir).split(path.sep).filter(Boolean);
|
|
1131
|
+
const converted = convertSegmentsToRouteParts(segments);
|
|
1132
|
+
const urlSegments = converted ? converted.urlSegments : segments.filter((segment) => !isInvisibleSegment(segment));
|
|
1133
|
+
if (urlSegments.length === 0) return "/";
|
|
1134
|
+
return "/" + urlSegments.join("/");
|
|
1135
|
+
}
|
|
1136
|
+
/**
|
|
1013
1137
|
* Check whether a path segment is invisible in the URL (route groups, parallel slots, ".").
|
|
1014
1138
|
*
|
|
1015
1139
|
* Used by computeInterceptTarget, convertSegmentsToRouteParts, and
|
|
@@ -1161,6 +1285,6 @@ function joinRoutePattern(basePattern, subPath) {
|
|
|
1161
1285
|
return basePattern === "/" ? `/${subPath}` : `${basePattern}/${subPath}`;
|
|
1162
1286
|
}
|
|
1163
1287
|
//#endregion
|
|
1164
|
-
export { buildAppRouteGraph, computeRootParamNames };
|
|
1288
|
+
export { buildAppRouteGraph, computeRootParamNames, convertSegmentsToRouteParts, isInvisibleSegment };
|
|
1165
1289
|
|
|
1166
1290
|
//# sourceMappingURL=app-route-graph.js.map
|