@qzsy/vinext 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +773 -0
- package/dist/build/assets-ignore.d.ts +32 -0
- package/dist/build/assets-ignore.js +48 -0
- package/dist/build/clean-output.d.ts +13 -0
- package/dist/build/clean-output.js +34 -0
- package/dist/build/client-build-config.d.ts +171 -0
- package/dist/build/client-build-config.js +270 -0
- package/dist/build/css-url-assets.d.ts +29 -0
- package/dist/build/css-url-assets.js +213 -0
- package/dist/build/google-fonts/build-url.d.ts +9 -0
- package/dist/build/google-fonts/build-url.js +28 -0
- package/dist/build/google-fonts/fallback-metrics-data.js +14029 -0
- package/dist/build/google-fonts/fallback-metrics.d.ts +12 -0
- package/dist/build/google-fonts/fallback-metrics.js +44 -0
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +16 -0
- package/dist/build/google-fonts/find-font-files-in-css.js +28 -0
- package/dist/build/google-fonts/font-data.js +24983 -0
- package/dist/build/google-fonts/font-metadata.d.ts +16 -0
- package/dist/build/google-fonts/font-metadata.js +5 -0
- package/dist/build/google-fonts/get-axes.d.ts +6 -0
- package/dist/build/google-fonts/get-axes.js +37 -0
- package/dist/build/google-fonts/sort-variants.d.ts +4 -0
- package/dist/build/google-fonts/sort-variants.js +12 -0
- package/dist/build/google-fonts/validate.d.ts +27 -0
- package/dist/build/google-fonts/validate.js +54 -0
- package/dist/build/inline-css.d.ts +6 -0
- package/dist/build/inline-css.js +48 -0
- package/dist/build/layout-classification-types.d.ts +61 -0
- package/dist/build/layout-classification-types.js +1 -0
- package/dist/build/layout-classification.d.ts +59 -0
- package/dist/build/layout-classification.js +98 -0
- package/dist/build/next-client-runtime-manifests.d.ts +14 -0
- package/dist/build/next-client-runtime-manifests.js +39 -0
- package/dist/build/nitro-route-rules.d.ts +49 -0
- package/dist/build/nitro-route-rules.js +79 -0
- package/dist/build/precompress.d.ts +27 -0
- package/dist/build/precompress.js +110 -0
- package/dist/build/prerender.d.ts +209 -0
- package/dist/build/prerender.js +932 -0
- package/dist/build/report.d.ts +132 -0
- package/dist/build/report.js +504 -0
- package/dist/build/route-classification-injector.d.ts +34 -0
- package/dist/build/route-classification-injector.js +59 -0
- package/dist/build/route-classification-manifest.d.ts +52 -0
- package/dist/build/route-classification-manifest.js +143 -0
- package/dist/build/run-prerender.d.ts +61 -0
- package/dist/build/run-prerender.js +224 -0
- package/dist/build/server-manifest.d.ts +18 -0
- package/dist/build/server-manifest.js +22 -0
- package/dist/build/ssr-manifest.d.ts +18 -0
- package/dist/build/ssr-manifest.js +69 -0
- package/dist/build/standalone.d.ts +31 -0
- package/dist/build/standalone.js +203 -0
- package/dist/build/static-export.d.ts +55 -0
- package/dist/build/static-export.js +60 -0
- package/dist/cache/cache-adapters-virtual.d.ts +50 -0
- package/dist/cache/cache-adapters-virtual.js +45 -0
- package/dist/cache.d.ts +2 -0
- package/dist/cache.js +2 -0
- package/dist/check.d.ts +87 -0
- package/dist/check.js +1037 -0
- package/dist/cli-args.d.ts +33 -0
- package/dist/cli-args.js +124 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +744 -0
- package/dist/client/app-nav-failure-handler.d.ts +8 -0
- package/dist/client/app-nav-failure-handler.js +44 -0
- package/dist/client/empty-module.d.ts +1 -0
- package/dist/client/empty-module.js +1 -0
- package/dist/client/instrumentation-client-inject.d.ts +33 -0
- package/dist/client/instrumentation-client-inject.js +55 -0
- package/dist/client/instrumentation-client-state.d.ts +9 -0
- package/dist/client/instrumentation-client-state.js +17 -0
- package/dist/client/instrumentation-client.d.ts +7 -0
- package/dist/client/instrumentation-client.js +6 -0
- package/dist/client/navigation-runtime.d.ts +70 -0
- package/dist/client/navigation-runtime.js +169 -0
- package/dist/client/pages-router-link-navigation.d.ts +61 -0
- package/dist/client/pages-router-link-navigation.js +42 -0
- package/dist/client/validate-module-path.d.ts +17 -0
- package/dist/client/validate-module-path.js +24 -0
- package/dist/client/vinext-next-data.d.ts +44 -0
- package/dist/client/vinext-next-data.js +50 -0
- package/dist/client/window-next.d.ts +168 -0
- package/dist/client/window-next.js +57 -0
- package/dist/cloudflare/index.d.ts +3 -0
- package/dist/cloudflare/index.js +3 -0
- package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +102 -0
- package/dist/cloudflare/src/cache/kv-data-adapter.runtime.d.ts +126 -0
- package/dist/cloudflare/src/cache/kv-data-adapter.runtime.js +435 -0
- package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
- package/dist/cloudflare/tpr.d.ts +82 -0
- package/dist/cloudflare/tpr.js +558 -0
- package/dist/config/config-matchers.d.ts +257 -0
- package/dist/config/config-matchers.js +1046 -0
- package/dist/config/dotenv.d.ts +56 -0
- package/dist/config/dotenv.js +88 -0
- package/dist/config/next-config.d.ts +540 -0
- package/dist/config/next-config.js +1050 -0
- package/dist/config/tsconfig-paths.d.ts +21 -0
- package/dist/config/tsconfig-paths.js +157 -0
- package/dist/deploy.d.ts +190 -0
- package/dist/deploy.js +1033 -0
- package/dist/entries/app-browser-entry.d.ts +29 -0
- package/dist/entries/app-browser-entry.js +83 -0
- package/dist/entries/app-rsc-entry.d.ts +81 -0
- package/dist/entries/app-rsc-entry.js +943 -0
- package/dist/entries/app-rsc-manifest.d.ts +53 -0
- package/dist/entries/app-rsc-manifest.js +294 -0
- package/dist/entries/app-ssr-entry.d.ts +15 -0
- package/dist/entries/app-ssr-entry.js +24 -0
- package/dist/entries/pages-client-entry.d.ts +11 -0
- package/dist/entries/pages-client-entry.js +204 -0
- package/dist/entries/pages-entry-helpers.d.ts +2 -0
- package/dist/entries/pages-entry-helpers.js +2 -0
- package/dist/entries/pages-server-entry.d.ts +11 -0
- package/dist/entries/pages-server-entry.js +398 -0
- package/dist/entries/runtime-entry-module.d.ts +25 -0
- package/dist/entries/runtime-entry-module.js +46 -0
- package/dist/index.d.ts +115 -0
- package/dist/index.js +2661 -0
- package/dist/init.d.ts +69 -0
- package/dist/init.js +253 -0
- package/dist/plugins/ast-utils.d.ts +20 -0
- package/dist/plugins/ast-utils.js +78 -0
- package/dist/plugins/async-hooks-stub.d.ts +18 -0
- package/dist/plugins/async-hooks-stub.js +40 -0
- package/dist/plugins/client-reference-dedup.d.ts +35 -0
- package/dist/plugins/client-reference-dedup.js +189 -0
- package/dist/plugins/css-data-url.d.ts +6 -0
- package/dist/plugins/css-data-url.js +83 -0
- package/dist/plugins/dynamic-preload-metadata.d.ts +13 -0
- package/dist/plugins/dynamic-preload-metadata.js +413 -0
- package/dist/plugins/extensionless-dynamic-import.d.ts +6 -0
- package/dist/plugins/extensionless-dynamic-import.js +155 -0
- package/dist/plugins/fonts.d.ts +95 -0
- package/dist/plugins/fonts.js +711 -0
- package/dist/plugins/import-meta-url.d.ts +16 -0
- package/dist/plugins/import-meta-url.js +353 -0
- package/dist/plugins/instrumentation-client.d.ts +6 -0
- package/dist/plugins/instrumentation-client.js +27 -0
- package/dist/plugins/middleware-export-validation.d.ts +5 -0
- package/dist/plugins/middleware-export-validation.js +36 -0
- package/dist/plugins/middleware-server-only.d.ts +53 -0
- package/dist/plugins/middleware-server-only.js +90 -0
- package/dist/plugins/og-asset-ownership.d.ts +27 -0
- package/dist/plugins/og-asset-ownership.js +285 -0
- package/dist/plugins/og-assets.d.ts +50 -0
- package/dist/plugins/og-assets.js +229 -0
- package/dist/plugins/optimize-imports.d.ts +42 -0
- package/dist/plugins/optimize-imports.js +587 -0
- package/dist/plugins/postcss.d.ts +26 -0
- package/dist/plugins/postcss.js +96 -0
- package/dist/plugins/remove-console.d.ts +21 -0
- package/dist/plugins/remove-console.js +177 -0
- package/dist/plugins/require-context.d.ts +6 -0
- package/dist/plugins/require-context.js +185 -0
- package/dist/plugins/rsc-client-reference-loaders.d.ts +6 -0
- package/dist/plugins/rsc-client-reference-loaders.js +46 -0
- package/dist/plugins/rsc-client-shim-excludes.d.ts +6 -0
- package/dist/plugins/rsc-client-shim-excludes.js +35 -0
- package/dist/plugins/sass.d.ts +62 -0
- package/dist/plugins/sass.js +268 -0
- package/dist/plugins/server-externals-manifest.d.ts +26 -0
- package/dist/plugins/server-externals-manifest.js +81 -0
- package/dist/plugins/strip-server-exports.d.ts +21 -0
- package/dist/plugins/strip-server-exports.js +519 -0
- package/dist/plugins/typeof-window.d.ts +14 -0
- package/dist/plugins/typeof-window.js +150 -0
- package/dist/plugins/wasm-module-import.d.ts +15 -0
- package/dist/plugins/wasm-module-import.js +50 -0
- package/dist/routing/app-route-graph.d.ts +336 -0
- package/dist/routing/app-route-graph.js +1518 -0
- package/dist/routing/app-router.d.ts +30 -0
- package/dist/routing/app-router.js +59 -0
- package/dist/routing/file-matcher.d.ts +60 -0
- package/dist/routing/file-matcher.js +147 -0
- package/dist/routing/pages-router.d.ts +48 -0
- package/dist/routing/pages-router.js +163 -0
- package/dist/routing/route-matching.d.ts +27 -0
- package/dist/routing/route-matching.js +42 -0
- package/dist/routing/route-pattern.d.ts +64 -0
- package/dist/routing/route-pattern.js +165 -0
- package/dist/routing/route-trie.d.ts +67 -0
- package/dist/routing/route-trie.js +143 -0
- package/dist/routing/route-validation.d.ts +10 -0
- package/dist/routing/route-validation.js +101 -0
- package/dist/routing/utils.d.ts +117 -0
- package/dist/routing/utils.js +242 -0
- package/dist/server/accept-encoding.d.ts +29 -0
- package/dist/server/accept-encoding.js +95 -0
- package/dist/server/api-handler.d.ts +17 -0
- package/dist/server/api-handler.js +276 -0
- package/dist/server/app-action-request.d.ts +4 -0
- package/dist/server/app-action-request.js +9 -0
- package/dist/server/app-bfcache-id.d.ts +5 -0
- package/dist/server/app-bfcache-id.js +5 -0
- package/dist/server/app-bfcache-identity.d.ts +36 -0
- package/dist/server/app-bfcache-identity.js +156 -0
- package/dist/server/app-browser-action-result.d.ts +64 -0
- package/dist/server/app-browser-action-result.js +111 -0
- package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
- package/dist/server/app-browser-client-reuse-manifest.js +101 -0
- package/dist/server/app-browser-entry.d.ts +1 -0
- package/dist/server/app-browser-entry.js +1087 -0
- package/dist/server/app-browser-error.d.ts +13 -0
- package/dist/server/app-browser-error.js +52 -0
- package/dist/server/app-browser-history-controller.d.ts +104 -0
- package/dist/server/app-browser-history-controller.js +210 -0
- package/dist/server/app-browser-hydration.d.ts +32 -0
- package/dist/server/app-browser-hydration.js +29 -0
- package/dist/server/app-browser-interception-context.d.ts +24 -0
- package/dist/server/app-browser-interception-context.js +43 -0
- package/dist/server/app-browser-mpa-navigation.d.ts +16 -0
- package/dist/server/app-browser-mpa-navigation.js +42 -0
- package/dist/server/app-browser-navigation-controller.d.ts +109 -0
- package/dist/server/app-browser-navigation-controller.js +465 -0
- package/dist/server/app-browser-popstate.d.ts +26 -0
- package/dist/server/app-browser-popstate.js +44 -0
- package/dist/server/app-browser-rsc-redirect.d.ts +38 -0
- package/dist/server/app-browser-rsc-redirect.js +64 -0
- package/dist/server/app-browser-server-action-client.d.ts +32 -0
- package/dist/server/app-browser-server-action-client.js +128 -0
- package/dist/server/app-browser-server-action-navigation.d.ts +6 -0
- package/dist/server/app-browser-server-action-navigation.js +9 -0
- package/dist/server/app-browser-state.d.ts +140 -0
- package/dist/server/app-browser-state.js +315 -0
- package/dist/server/app-browser-stream.d.ts +28 -0
- package/dist/server/app-browser-stream.js +122 -0
- package/dist/server/app-browser-visible-commit.d.ts +78 -0
- package/dist/server/app-browser-visible-commit.js +241 -0
- package/dist/server/app-client-reference-preloader.d.ts +14 -0
- package/dist/server/app-client-reference-preloader.js +44 -0
- package/dist/server/app-elements-wire.d.ts +192 -0
- package/dist/server/app-elements-wire.js +443 -0
- package/dist/server/app-elements.d.ts +9 -0
- package/dist/server/app-elements.js +18 -0
- package/dist/server/app-fallback-renderer.d.ts +89 -0
- package/dist/server/app-fallback-renderer.js +136 -0
- package/dist/server/app-history-state.d.ts +85 -0
- package/dist/server/app-history-state.js +223 -0
- package/dist/server/app-hook-warning-suppression.d.ts +6 -0
- package/dist/server/app-hook-warning-suppression.js +10 -0
- package/dist/server/app-inline-css-client.d.ts +6 -0
- package/dist/server/app-inline-css-client.js +35 -0
- package/dist/server/app-interception-context-header.d.ts +32 -0
- package/dist/server/app-interception-context-header.js +42 -0
- package/dist/server/app-layout-param-observation.d.ts +43 -0
- package/dist/server/app-layout-param-observation.js +168 -0
- package/dist/server/app-middleware.d.ts +46 -0
- package/dist/server/app-middleware.js +168 -0
- package/dist/server/app-mounted-slots-header.d.ts +35 -0
- package/dist/server/app-mounted-slots-header.js +58 -0
- package/dist/server/app-optimistic-routing.d.ts +53 -0
- package/dist/server/app-optimistic-routing.js +227 -0
- package/dist/server/app-page-boundary-render.d.ts +85 -0
- package/dist/server/app-page-boundary-render.js +305 -0
- package/dist/server/app-page-boundary.d.ts +102 -0
- package/dist/server/app-page-boundary.js +120 -0
- package/dist/server/app-page-cache-finalizer.d.ts +62 -0
- package/dist/server/app-page-cache-finalizer.js +122 -0
- package/dist/server/app-page-cache-render.d.ts +53 -0
- package/dist/server/app-page-cache-render.js +91 -0
- package/dist/server/app-page-cache.d.ts +83 -0
- package/dist/server/app-page-cache.js +272 -0
- package/dist/server/app-page-dispatch.d.ts +223 -0
- package/dist/server/app-page-dispatch.js +610 -0
- package/dist/server/app-page-element-builder.d.ts +96 -0
- package/dist/server/app-page-element-builder.js +205 -0
- package/dist/server/app-page-execution.d.ts +138 -0
- package/dist/server/app-page-execution.js +328 -0
- package/dist/server/app-page-head.d.ts +65 -0
- package/dist/server/app-page-head.js +228 -0
- package/dist/server/app-page-method.d.ts +15 -0
- package/dist/server/app-page-method.js +25 -0
- package/dist/server/app-page-params.d.ts +8 -0
- package/dist/server/app-page-params.js +39 -0
- package/dist/server/app-page-ppr-runtime.d.ts +7 -0
- package/dist/server/app-page-ppr-runtime.js +70 -0
- package/dist/server/app-page-probe.d.ts +134 -0
- package/dist/server/app-page-probe.js +276 -0
- package/dist/server/app-page-render-identity.d.ts +21 -0
- package/dist/server/app-page-render-identity.js +40 -0
- package/dist/server/app-page-render-observation.d.ts +36 -0
- package/dist/server/app-page-render-observation.js +82 -0
- package/dist/server/app-page-render.d.ts +111 -0
- package/dist/server/app-page-render.js +602 -0
- package/dist/server/app-page-request.d.ts +137 -0
- package/dist/server/app-page-request.js +216 -0
- package/dist/server/app-page-response.d.ts +68 -0
- package/dist/server/app-page-response.js +120 -0
- package/dist/server/app-page-route-wiring.d.ts +151 -0
- package/dist/server/app-page-route-wiring.js +452 -0
- package/dist/server/app-page-search-params-observation.d.ts +10 -0
- package/dist/server/app-page-search-params-observation.js +20 -0
- package/dist/server/app-page-segment-state.d.ts +9 -0
- package/dist/server/app-page-segment-state.js +80 -0
- package/dist/server/app-page-stream.d.ts +151 -0
- package/dist/server/app-page-stream.js +143 -0
- package/dist/server/app-pages-bridge.d.ts +63 -0
- package/dist/server/app-pages-bridge.js +63 -0
- package/dist/server/app-post-middleware-context.d.ts +15 -0
- package/dist/server/app-post-middleware-context.js +26 -0
- package/dist/server/app-ppr-fallback-shell-render.d.ts +18 -0
- package/dist/server/app-ppr-fallback-shell-render.js +26 -0
- package/dist/server/app-ppr-fallback-shell.d.ts +33 -0
- package/dist/server/app-ppr-fallback-shell.js +89 -0
- package/dist/server/app-prerender-endpoints.d.ts +18 -0
- package/dist/server/app-prerender-endpoints.js +94 -0
- package/dist/server/app-prerender-static-params.d.ts +30 -0
- package/dist/server/app-prerender-static-params.js +81 -0
- package/dist/server/app-render-dependency.d.ts +14 -0
- package/dist/server/app-render-dependency.js +41 -0
- package/dist/server/app-request-context.d.ts +20 -0
- package/dist/server/app-request-context.js +29 -0
- package/dist/server/app-route-handler-cache.d.ts +46 -0
- package/dist/server/app-route-handler-cache.js +78 -0
- package/dist/server/app-route-handler-dispatch.d.ts +49 -0
- package/dist/server/app-route-handler-dispatch.js +163 -0
- package/dist/server/app-route-handler-execution.d.ts +86 -0
- package/dist/server/app-route-handler-execution.js +128 -0
- package/dist/server/app-route-handler-policy.d.ts +55 -0
- package/dist/server/app-route-handler-policy.js +58 -0
- package/dist/server/app-route-handler-response.d.ts +28 -0
- package/dist/server/app-route-handler-response.js +145 -0
- package/dist/server/app-route-handler-runtime.d.ts +39 -0
- package/dist/server/app-route-handler-runtime.js +250 -0
- package/dist/server/app-route-module-loader.d.ts +91 -0
- package/dist/server/app-route-module-loader.js +83 -0
- package/dist/server/app-router-entry.d.ts +13 -0
- package/dist/server/app-router-entry.js +49 -0
- package/dist/server/app-rsc-cache-busting.d.ts +64 -0
- package/dist/server/app-rsc-cache-busting.js +206 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +8 -0
- package/dist/server/app-rsc-embedded-chunks.js +32 -0
- package/dist/server/app-rsc-error-handler.d.ts +20 -0
- package/dist/server/app-rsc-error-handler.js +28 -0
- package/dist/server/app-rsc-errors.d.ts +40 -0
- package/dist/server/app-rsc-errors.js +60 -0
- package/dist/server/app-rsc-handler.d.ts +201 -0
- package/dist/server/app-rsc-handler.js +538 -0
- package/dist/server/app-rsc-render-mode.d.ts +11 -0
- package/dist/server/app-rsc-render-mode.js +25 -0
- package/dist/server/app-rsc-request-normalization.d.ts +48 -0
- package/dist/server/app-rsc-request-normalization.js +75 -0
- package/dist/server/app-rsc-response-finalizer.d.ts +37 -0
- package/dist/server/app-rsc-response-finalizer.js +54 -0
- package/dist/server/app-rsc-route-matching.d.ts +93 -0
- package/dist/server/app-rsc-route-matching.js +134 -0
- package/dist/server/app-segment-config.d.ts +46 -0
- package/dist/server/app-segment-config.js +113 -0
- package/dist/server/app-server-action-execution.d.ts +219 -0
- package/dist/server/app-server-action-execution.js +767 -0
- package/dist/server/app-ssr-entry.d.ts +52 -0
- package/dist/server/app-ssr-entry.js +295 -0
- package/dist/server/app-ssr-error-meta.d.ts +13 -0
- package/dist/server/app-ssr-error-meta.js +48 -0
- package/dist/server/app-ssr-router-instance.d.ts +6 -0
- package/dist/server/app-ssr-router-instance.js +24 -0
- package/dist/server/app-ssr-stream.d.ts +60 -0
- package/dist/server/app-ssr-stream.js +408 -0
- package/dist/server/app-static-generation.d.ts +15 -0
- package/dist/server/app-static-generation.js +19 -0
- package/dist/server/app-visited-response-cache.d.ts +23 -0
- package/dist/server/app-visited-response-cache.js +19 -0
- package/dist/server/artifact-compatibility.d.ts +54 -0
- package/dist/server/artifact-compatibility.js +91 -0
- package/dist/server/before-interactive-head.d.ts +17 -0
- package/dist/server/before-interactive-head.js +35 -0
- package/dist/server/cache-control.d.ts +37 -0
- package/dist/server/cache-control.js +56 -0
- package/dist/server/cache-headers.d.ts +6 -0
- package/dist/server/cache-headers.js +17 -0
- package/dist/server/cache-proof.d.ts +364 -0
- package/dist/server/cache-proof.js +794 -0
- package/dist/server/client-reuse-manifest.d.ts +104 -0
- package/dist/server/client-reuse-manifest.js +209 -0
- package/dist/server/client-trace-metadata.d.ts +30 -0
- package/dist/server/client-trace-metadata.js +81 -0
- package/dist/server/cookie-utils.d.ts +12 -0
- package/dist/server/cookie-utils.js +18 -0
- package/dist/server/csp.d.ts +10 -0
- package/dist/server/csp.js +41 -0
- package/dist/server/default-global-error-module.d.ts +19 -0
- package/dist/server/default-global-error-module.js +18 -0
- package/dist/server/default-not-found-module.d.ts +19 -0
- package/dist/server/default-not-found-module.js +18 -0
- package/dist/server/defer-until-stream-consumed.d.ts +7 -0
- package/dist/server/defer-until-stream-consumed.js +34 -0
- package/dist/server/dev-error-overlay-store.d.ts +39 -0
- package/dist/server/dev-error-overlay-store.js +86 -0
- package/dist/server/dev-error-overlay.d.ts +51 -0
- package/dist/server/dev-error-overlay.js +1341 -0
- package/dist/server/dev-initial-server-error.d.ts +9 -0
- package/dist/server/dev-initial-server-error.js +26 -0
- package/dist/server/dev-lockfile.d.ts +109 -0
- package/dist/server/dev-lockfile.js +179 -0
- package/dist/server/dev-module-runner.d.ts +30 -0
- package/dist/server/dev-module-runner.js +91 -0
- package/dist/server/dev-origin-check.d.ts +62 -0
- package/dist/server/dev-origin-check.js +156 -0
- package/dist/server/dev-route-files.d.ts +6 -0
- package/dist/server/dev-route-files.js +71 -0
- package/dist/server/dev-server.d.ts +58 -0
- package/dist/server/dev-server.js +1114 -0
- package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
- package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
- package/dist/server/dev-stack-sourcemap.d.ts +43 -0
- package/dist/server/dev-stack-sourcemap.js +443 -0
- package/dist/server/document-initial-head.d.ts +6 -0
- package/dist/server/document-initial-head.js +33 -0
- package/dist/server/edge-api-runtime.d.ts +4 -0
- package/dist/server/edge-api-runtime.js +6 -0
- package/dist/server/file-based-metadata.d.ts +29 -0
- package/dist/server/file-based-metadata.js +401 -0
- package/dist/server/headers.d.ts +114 -0
- package/dist/server/headers.js +136 -0
- package/dist/server/html.d.ts +28 -0
- package/dist/server/html.js +41 -0
- package/dist/server/http-error-responses.d.ts +91 -0
- package/dist/server/http-error-responses.js +105 -0
- package/dist/server/hybrid-route-priority.d.ts +22 -0
- package/dist/server/hybrid-route-priority.js +33 -0
- package/dist/server/image-optimization.d.ts +130 -0
- package/dist/server/image-optimization.js +247 -0
- package/dist/server/implicit-tags.d.ts +6 -0
- package/dist/server/implicit-tags.js +44 -0
- package/dist/server/instrumentation-runtime.d.ts +49 -0
- package/dist/server/instrumentation-runtime.js +35 -0
- package/dist/server/instrumentation.d.ts +85 -0
- package/dist/server/instrumentation.js +130 -0
- package/dist/server/isr-cache.d.ts +127 -0
- package/dist/server/isr-cache.js +282 -0
- package/dist/server/isr-decision.d.ts +79 -0
- package/dist/server/isr-decision.js +70 -0
- package/dist/server/metadata-route-build-data.d.ts +24 -0
- package/dist/server/metadata-route-build-data.js +148 -0
- package/dist/server/metadata-route-response.d.ts +16 -0
- package/dist/server/metadata-route-response.js +205 -0
- package/dist/server/metadata-routes.d.ts +139 -0
- package/dist/server/metadata-routes.js +433 -0
- package/dist/server/middleware-matcher.d.ts +14 -0
- package/dist/server/middleware-matcher.js +111 -0
- package/dist/server/middleware-request-headers.d.ts +11 -0
- package/dist/server/middleware-request-headers.js +65 -0
- package/dist/server/middleware-response-headers.d.ts +12 -0
- package/dist/server/middleware-response-headers.js +42 -0
- package/dist/server/middleware-runtime.d.ts +67 -0
- package/dist/server/middleware-runtime.js +240 -0
- package/dist/server/middleware.d.ts +62 -0
- package/dist/server/middleware.js +114 -0
- package/dist/server/navigation-planner.d.ts +308 -0
- package/dist/server/navigation-planner.js +831 -0
- package/dist/server/navigation-trace.d.ts +68 -0
- package/dist/server/navigation-trace.js +71 -0
- package/dist/server/next-error-digest.d.ts +44 -0
- package/dist/server/next-error-digest.js +40 -0
- package/dist/server/normalize-path.d.ts +38 -0
- package/dist/server/normalize-path.js +70 -0
- package/dist/server/open-redirect.d.ts +12 -0
- package/dist/server/open-redirect.js +21 -0
- package/dist/server/operation-token.d.ts +40 -0
- package/dist/server/operation-token.js +85 -0
- package/dist/server/otel-tracer-extension.d.ts +45 -0
- package/dist/server/otel-tracer-extension.js +89 -0
- package/dist/server/pages-api-route.d.ts +83 -0
- package/dist/server/pages-api-route.js +75 -0
- package/dist/server/pages-asset-tags.d.ts +78 -0
- package/dist/server/pages-asset-tags.js +126 -0
- package/dist/server/pages-body-parser-config.d.ts +59 -0
- package/dist/server/pages-body-parser-config.js +77 -0
- package/dist/server/pages-data-route.d.ts +121 -0
- package/dist/server/pages-data-route.js +157 -0
- package/dist/server/pages-default-404.d.ts +30 -0
- package/dist/server/pages-default-404.js +38 -0
- package/dist/server/pages-dev-module-url.d.ts +4 -0
- package/dist/server/pages-dev-module-url.js +15 -0
- package/dist/server/pages-document-initial-props.d.ts +77 -0
- package/dist/server/pages-document-initial-props.js +109 -0
- package/dist/server/pages-get-initial-props.d.ts +67 -0
- package/dist/server/pages-get-initial-props.js +92 -0
- package/dist/server/pages-i18n.d.ts +106 -0
- package/dist/server/pages-i18n.js +183 -0
- package/dist/server/pages-media-type.d.ts +15 -0
- package/dist/server/pages-media-type.js +24 -0
- package/dist/server/pages-node-compat.d.ts +55 -0
- package/dist/server/pages-node-compat.js +235 -0
- package/dist/server/pages-page-data.d.ts +223 -0
- package/dist/server/pages-page-data.js +484 -0
- package/dist/server/pages-page-handler.d.ts +100 -0
- package/dist/server/pages-page-handler.js +403 -0
- package/dist/server/pages-page-method.d.ts +47 -0
- package/dist/server/pages-page-method.js +17 -0
- package/dist/server/pages-page-response.d.ts +138 -0
- package/dist/server/pages-page-response.js +285 -0
- package/dist/server/pages-readiness.d.ts +36 -0
- package/dist/server/pages-readiness.js +21 -0
- package/dist/server/pages-request-pipeline.d.ts +116 -0
- package/dist/server/pages-request-pipeline.js +311 -0
- package/dist/server/pages-revalidate.d.ts +15 -0
- package/dist/server/pages-revalidate.js +19 -0
- package/dist/server/pages-serializable-props.d.ts +24 -0
- package/dist/server/pages-serializable-props.js +67 -0
- package/dist/server/pregenerated-concrete-paths.d.ts +16 -0
- package/dist/server/pregenerated-concrete-paths.js +61 -0
- package/dist/server/prerender-manifest.d.ts +33 -0
- package/dist/server/prerender-manifest.js +54 -0
- package/dist/server/prerender-route-params.d.ts +23 -0
- package/dist/server/prerender-route-params.js +113 -0
- package/dist/server/prerender-work-unit-setup.d.ts +6 -0
- package/dist/server/prerender-work-unit-setup.js +28 -0
- package/dist/server/prod-server.d.ts +148 -0
- package/dist/server/prod-server.js +1136 -0
- package/dist/server/proxy-trust.d.ts +40 -0
- package/dist/server/proxy-trust.js +68 -0
- package/dist/server/request-log.d.ts +39 -0
- package/dist/server/request-log.js +56 -0
- package/dist/server/request-pipeline.d.ts +187 -0
- package/dist/server/request-pipeline.js +447 -0
- package/dist/server/rsc-stream-hints.d.ts +10 -0
- package/dist/server/rsc-stream-hints.js +41 -0
- package/dist/server/seed-cache.d.ts +29 -0
- package/dist/server/seed-cache.js +125 -0
- package/dist/server/server-action-not-found.d.ts +21 -0
- package/dist/server/server-action-not-found.js +62 -0
- package/dist/server/server-globals.d.ts +4 -0
- package/dist/server/server-globals.js +35 -0
- package/dist/server/skip-cache-proof.d.ts +61 -0
- package/dist/server/skip-cache-proof.js +168 -0
- package/dist/server/socket-error-backstop.d.ts +34 -0
- package/dist/server/socket-error-backstop.js +200 -0
- package/dist/server/static-file-cache.d.ts +56 -0
- package/dist/server/static-file-cache.js +231 -0
- package/dist/server/static-layout-client-reuse-proof.d.ts +15 -0
- package/dist/server/static-layout-client-reuse-proof.js +33 -0
- package/dist/server/streaming-metadata.d.ts +4 -0
- package/dist/server/streaming-metadata.js +8 -0
- package/dist/server/worker-utils.d.ts +7 -0
- package/dist/server/worker-utils.js +99 -0
- package/dist/shims/amp.d.ts +19 -0
- package/dist/shims/amp.js +23 -0
- package/dist/shims/app-router-scroll-state.d.ts +15 -0
- package/dist/shims/app-router-scroll-state.js +61 -0
- package/dist/shims/app-router-scroll.d.ts +29 -0
- package/dist/shims/app-router-scroll.js +141 -0
- package/dist/shims/app.d.ts +42 -0
- package/dist/shims/app.js +48 -0
- package/dist/shims/before-interactive-context.d.ts +40 -0
- package/dist/shims/before-interactive-context.js +8 -0
- package/dist/shims/cache-for-request.d.ts +57 -0
- package/dist/shims/cache-for-request.js +72 -0
- package/dist/shims/cache-handler.d.ts +106 -0
- package/dist/shims/cache-handler.js +176 -0
- package/dist/shims/cache-request-state.d.ts +47 -0
- package/dist/shims/cache-request-state.js +126 -0
- package/dist/shims/cache-runtime.d.ts +83 -0
- package/dist/shims/cache-runtime.js +452 -0
- package/dist/shims/cache.d.ts +145 -0
- package/dist/shims/cache.js +401 -0
- package/dist/shims/cdn-cache.d.ts +125 -0
- package/dist/shims/cdn-cache.js +100 -0
- package/dist/shims/client-hook-error.d.ts +13 -0
- package/dist/shims/client-hook-error.js +17 -0
- package/dist/shims/client-locale.d.ts +14 -0
- package/dist/shims/client-locale.js +11 -0
- package/dist/shims/client-only.d.ts +1 -0
- package/dist/shims/client-only.js +1 -0
- package/dist/shims/compat-router.d.ts +16 -0
- package/dist/shims/compat-router.js +25 -0
- package/dist/shims/config.d.ts +28 -0
- package/dist/shims/config.js +21 -0
- package/dist/shims/constants.d.ts +130 -0
- package/dist/shims/constants.js +167 -0
- package/dist/shims/default-global-error.d.ts +31 -0
- package/dist/shims/default-global-error.js +179 -0
- package/dist/shims/default-not-found.d.ts +11 -0
- package/dist/shims/default-not-found.js +59 -0
- package/dist/shims/document.d.ts +92 -0
- package/dist/shims/document.js +76 -0
- package/dist/shims/dynamic-preload-chunks.d.ts +8 -0
- package/dist/shims/dynamic-preload-chunks.js +79 -0
- package/dist/shims/dynamic.d.ts +35 -0
- package/dist/shims/dynamic.js +204 -0
- package/dist/shims/error-boundary-navigation.d.ts +7 -0
- package/dist/shims/error-boundary-navigation.js +44 -0
- package/dist/shims/error-boundary.d.ts +155 -0
- package/dist/shims/error-boundary.js +342 -0
- package/dist/shims/error.d.ts +31 -0
- package/dist/shims/error.js +123 -0
- package/dist/shims/error.react-server.d.ts +9 -0
- package/dist/shims/error.react-server.js +6 -0
- package/dist/shims/fetch-cache.d.ts +136 -0
- package/dist/shims/fetch-cache.js +766 -0
- package/dist/shims/font-google-base.d.ts +83 -0
- package/dist/shims/font-google-base.js +290 -0
- package/dist/shims/font-google.d.ts +2 -0
- package/dist/shims/font-google.js +2 -0
- package/dist/shims/font-local.d.ts +50 -0
- package/dist/shims/font-local.js +195 -0
- package/dist/shims/font-utils.d.ts +56 -0
- package/dist/shims/font-utils.js +107 -0
- package/dist/shims/form.d.ts +19 -0
- package/dist/shims/form.js +236 -0
- package/dist/shims/hash-scroll.d.ts +10 -0
- package/dist/shims/hash-scroll.js +47 -0
- package/dist/shims/head-state.d.ts +16 -0
- package/dist/shims/head-state.js +43 -0
- package/dist/shims/head.d.ts +73 -0
- package/dist/shims/head.js +340 -0
- package/dist/shims/headers.d.ts +253 -0
- package/dist/shims/headers.js +754 -0
- package/dist/shims/i18n-context.d.ts +22 -0
- package/dist/shims/i18n-context.js +42 -0
- package/dist/shims/i18n-state.d.ts +14 -0
- package/dist/shims/i18n-state.js +38 -0
- package/dist/shims/image-config.d.ts +45 -0
- package/dist/shims/image-config.js +85 -0
- package/dist/shims/image.d.ts +55 -0
- package/dist/shims/image.js +582 -0
- package/dist/shims/internal/als-registry.d.ts +14 -0
- package/dist/shims/internal/als-registry.js +80 -0
- package/dist/shims/internal/api-utils.d.ts +14 -0
- package/dist/shims/internal/api-utils.js +1 -0
- package/dist/shims/internal/app-page-props-cache-key.d.ts +5 -0
- package/dist/shims/internal/app-page-props-cache-key.js +16 -0
- package/dist/shims/internal/app-route-detection.d.ts +39 -0
- package/dist/shims/internal/app-route-detection.js +62 -0
- package/dist/shims/internal/app-router-context.d.ts +31 -0
- package/dist/shims/internal/app-router-context.js +28 -0
- package/dist/shims/internal/cookie-serialize.d.ts +45 -0
- package/dist/shims/internal/cookie-serialize.js +49 -0
- package/dist/shims/internal/cookies.d.ts +2 -0
- package/dist/shims/internal/cookies.js +2 -0
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +31 -0
- package/dist/shims/internal/hybrid-client-route-owner.js +143 -0
- package/dist/shims/internal/interpolate-as.d.ts +25 -0
- package/dist/shims/internal/interpolate-as.js +196 -0
- package/dist/shims/internal/link-status-registry.d.ts +43 -0
- package/dist/shims/internal/link-status-registry.js +42 -0
- package/dist/shims/internal/make-hanging-promise.d.ts +15 -0
- package/dist/shims/internal/make-hanging-promise.js +44 -0
- package/dist/shims/internal/navigation-untracked.d.ts +35 -0
- package/dist/shims/internal/navigation-untracked.js +56 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +54 -0
- package/dist/shims/internal/pages-data-fetch-dedup.js +121 -0
- package/dist/shims/internal/pages-data-target.d.ts +62 -0
- package/dist/shims/internal/pages-data-target.js +98 -0
- package/dist/shims/internal/pages-data-url.d.ts +41 -0
- package/dist/shims/internal/pages-data-url.js +71 -0
- package/dist/shims/internal/pages-router-accessor.d.ts +19 -0
- package/dist/shims/internal/pages-router-accessor.js +13 -0
- package/dist/shims/internal/route-pattern-for-warning.d.ts +27 -0
- package/dist/shims/internal/route-pattern-for-warning.js +40 -0
- package/dist/shims/internal/router-context.d.ts +7 -0
- package/dist/shims/internal/router-context.js +13 -0
- package/dist/shims/internal/utils.d.ts +52 -0
- package/dist/shims/internal/utils.js +27 -0
- package/dist/shims/internal/work-unit-async-storage.d.ts +30 -0
- package/dist/shims/internal/work-unit-async-storage.js +17 -0
- package/dist/shims/layout-segment-context.d.ts +24 -0
- package/dist/shims/layout-segment-context.js +39 -0
- package/dist/shims/legacy-image.d.ts +41 -0
- package/dist/shims/legacy-image.js +49 -0
- package/dist/shims/link-prefetch.d.ts +41 -0
- package/dist/shims/link-prefetch.js +43 -0
- package/dist/shims/link.d.ts +102 -0
- package/dist/shims/link.js +687 -0
- package/dist/shims/metadata.d.ts +285 -0
- package/dist/shims/metadata.js +820 -0
- package/dist/shims/navigation-context-state.d.ts +40 -0
- package/dist/shims/navigation-context-state.js +116 -0
- package/dist/shims/navigation-errors.d.ts +55 -0
- package/dist/shims/navigation-errors.js +110 -0
- package/dist/shims/navigation-server.d.ts +3 -0
- package/dist/shims/navigation-server.js +3 -0
- package/dist/shims/navigation-state.d.ts +25 -0
- package/dist/shims/navigation-state.js +66 -0
- package/dist/shims/navigation.d.ts +286 -0
- package/dist/shims/navigation.js +1206 -0
- package/dist/shims/navigation.react-server.d.ts +14 -0
- package/dist/shims/navigation.react-server.js +32 -0
- package/dist/shims/offline.d.ts +4 -0
- package/dist/shims/offline.js +15 -0
- package/dist/shims/og.d.ts +17 -0
- package/dist/shims/og.js +48 -0
- package/dist/shims/pages-router-runtime.d.ts +12 -0
- package/dist/shims/pages-router-runtime.js +24 -0
- package/dist/shims/ppr-fallback-shell.d.ts +33 -0
- package/dist/shims/ppr-fallback-shell.js +170 -0
- package/dist/shims/readonly-url-search-params.d.ts +13 -0
- package/dist/shims/readonly-url-search-params.js +26 -0
- package/dist/shims/request-context.d.ts +58 -0
- package/dist/shims/request-context.js +45 -0
- package/dist/shims/request-state-types.d.ts +12 -0
- package/dist/shims/request-state-types.js +1 -0
- package/dist/shims/root-params.d.ts +12 -0
- package/dist/shims/root-params.js +30 -0
- package/dist/shims/router-state.d.ts +32 -0
- package/dist/shims/router-state.js +39 -0
- package/dist/shims/router.d.ts +192 -0
- package/dist/shims/router.js +1786 -0
- package/dist/shims/script-nonce-context.d.ts +11 -0
- package/dist/shims/script-nonce-context.js +23 -0
- package/dist/shims/script.d.ts +43 -0
- package/dist/shims/script.js +370 -0
- package/dist/shims/server-only.d.ts +1 -0
- package/dist/shims/server-only.js +1 -0
- package/dist/shims/server.d.ts +323 -0
- package/dist/shims/server.js +729 -0
- package/dist/shims/slot.d.ts +45 -0
- package/dist/shims/slot.js +230 -0
- package/dist/shims/thenable-params.d.ts +11 -0
- package/dist/shims/thenable-params.js +176 -0
- package/dist/shims/unified-request-context.d.ts +68 -0
- package/dist/shims/unified-request-context.js +86 -0
- package/dist/shims/unrecognized-action-error.d.ts +34 -0
- package/dist/shims/unrecognized-action-error.js +39 -0
- package/dist/shims/url-safety.d.ts +34 -0
- package/dist/shims/url-safety.js +70 -0
- package/dist/shims/url-utils.d.ts +51 -0
- package/dist/shims/url-utils.js +156 -0
- package/dist/shims/use-merged-ref.d.ts +6 -0
- package/dist/shims/use-merged-ref.js +38 -0
- package/dist/shims/web-vitals.d.ts +8 -0
- package/dist/shims/web-vitals.js +22 -0
- package/dist/typegen.d.ts +9 -0
- package/dist/typegen.js +228 -0
- package/dist/utils/asset-prefix.d.ts +96 -0
- package/dist/utils/asset-prefix.js +122 -0
- package/dist/utils/base-path.d.ts +31 -0
- package/dist/utils/base-path.js +45 -0
- package/dist/utils/built-asset-url.d.ts +4 -0
- package/dist/utils/built-asset-url.js +11 -0
- package/dist/utils/cache-control-metadata.d.ts +4 -0
- package/dist/utils/cache-control-metadata.js +12 -0
- package/dist/utils/client-build-manifest.d.ts +21 -0
- package/dist/utils/client-build-manifest.js +87 -0
- package/dist/utils/client-entry-manifest.d.ts +11 -0
- package/dist/utils/client-entry-manifest.js +29 -0
- package/dist/utils/client-runtime-metadata.d.ts +45 -0
- package/dist/utils/client-runtime-metadata.js +63 -0
- package/dist/utils/commonjs-loader.d.ts +16 -0
- package/dist/utils/commonjs-loader.js +100 -0
- package/dist/utils/compare.d.ts +4 -0
- package/dist/utils/compare.js +8 -0
- package/dist/utils/deployment-id.d.ts +8 -0
- package/dist/utils/deployment-id.js +22 -0
- package/dist/utils/dev-error-recovery-event.d.ts +4 -0
- package/dist/utils/dev-error-recovery-event.js +4 -0
- package/dist/utils/domain-locale.d.ts +26 -0
- package/dist/utils/domain-locale.js +50 -0
- package/dist/utils/encode-cache-tag.d.ts +30 -0
- package/dist/utils/encode-cache-tag.js +36 -0
- package/dist/utils/error-cause.d.ts +4 -0
- package/dist/utils/error-cause.js +95 -0
- package/dist/utils/has-trailing-comma.d.ts +24 -0
- package/dist/utils/has-trailing-comma.js +62 -0
- package/dist/utils/hash.d.ts +24 -0
- package/dist/utils/hash.js +55 -0
- package/dist/utils/html-limited-bots.d.ts +21 -0
- package/dist/utils/html-limited-bots.js +35 -0
- package/dist/utils/lazy-chunks.d.ts +59 -0
- package/dist/utils/lazy-chunks.js +112 -0
- package/dist/utils/manifest-paths.d.ts +30 -0
- package/dist/utils/manifest-paths.js +66 -0
- package/dist/utils/mdx-scan.d.ts +9 -0
- package/dist/utils/mdx-scan.js +34 -0
- package/dist/utils/navigation-signal.d.ts +4 -0
- package/dist/utils/navigation-signal.js +12 -0
- package/dist/utils/number.d.ts +4 -0
- package/dist/utils/number.js +6 -0
- package/dist/utils/parse-cookie.d.ts +13 -0
- package/dist/utils/parse-cookie.js +52 -0
- package/dist/utils/path.d.ts +22 -0
- package/dist/utils/path.js +30 -0
- package/dist/utils/prerender-output-paths.d.ts +14 -0
- package/dist/utils/prerender-output-paths.js +22 -0
- package/dist/utils/project.d.ts +76 -0
- package/dist/utils/project.js +213 -0
- package/dist/utils/promise.d.ts +4 -0
- package/dist/utils/promise.js +6 -0
- package/dist/utils/public-routes.d.ts +4 -0
- package/dist/utils/public-routes.js +48 -0
- package/dist/utils/query.d.ts +49 -0
- package/dist/utils/query.js +122 -0
- package/dist/utils/record.d.ts +4 -0
- package/dist/utils/record.js +6 -0
- package/dist/utils/regex.d.ts +4 -0
- package/dist/utils/regex.js +6 -0
- package/dist/utils/safe-json-file.d.ts +17 -0
- package/dist/utils/safe-json-file.js +23 -0
- package/dist/utils/sorted-array.d.ts +8 -0
- package/dist/utils/sorted-array.js +20 -0
- package/dist/utils/text-stream.d.ts +28 -0
- package/dist/utils/text-stream.js +64 -0
- package/dist/utils/vinext-root.d.ts +23 -0
- package/dist/utils/vinext-root.js +29 -0
- package/dist/utils/virtual-module.d.ts +5 -0
- package/dist/utils/virtual-module.js +0 -0
- package/dist/utils/vite-version.d.ts +21 -0
- package/dist/utils/vite-version.js +42 -0
- package/package.json +145 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
//#region src/shims/default-not-found.tsx
|
|
3
|
+
/**
|
|
4
|
+
* Ported from Next.js's built-in default not-found component:
|
|
5
|
+
* https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/builtin/not-found.tsx
|
|
6
|
+
* https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/http-access-fallback/error-fallback.tsx
|
|
7
|
+
*
|
|
8
|
+
* Rendered when an App Router request resolves to a 404 and the user has not
|
|
9
|
+
* supplied their own `app/not-found.tsx` (or `app/global-not-found.tsx`).
|
|
10
|
+
* Matches Next.js's `HTTPAccessErrorFallback` exactly: a centered 404 / message
|
|
11
|
+
* pair with minified theme CSS and dark-mode media query.
|
|
12
|
+
*
|
|
13
|
+
* The message string `"This page could not be found."` (note the trailing
|
|
14
|
+
* period) is the canonical body asserted by Next.js's deploy suite
|
|
15
|
+
* (`test/e2e/app-dir/prefetching-not-found/prefetching-not-found.test.ts`,
|
|
16
|
+
* `test/e2e/basepath/error-pages.test.ts`).
|
|
17
|
+
*/
|
|
18
|
+
const styles = {
|
|
19
|
+
error: {
|
|
20
|
+
fontFamily: "system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"",
|
|
21
|
+
height: "100vh",
|
|
22
|
+
textAlign: "center",
|
|
23
|
+
display: "flex",
|
|
24
|
+
flexDirection: "column",
|
|
25
|
+
alignItems: "center",
|
|
26
|
+
justifyContent: "center"
|
|
27
|
+
},
|
|
28
|
+
desc: { display: "inline-block" },
|
|
29
|
+
h1: {
|
|
30
|
+
display: "inline-block",
|
|
31
|
+
margin: "0 20px 0 0",
|
|
32
|
+
padding: "0 23px 0 0",
|
|
33
|
+
fontSize: 24,
|
|
34
|
+
fontWeight: 500,
|
|
35
|
+
verticalAlign: "top",
|
|
36
|
+
lineHeight: "49px"
|
|
37
|
+
},
|
|
38
|
+
h2: {
|
|
39
|
+
fontSize: 14,
|
|
40
|
+
fontWeight: 400,
|
|
41
|
+
lineHeight: "49px",
|
|
42
|
+
margin: 0
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const STATUS = 404;
|
|
46
|
+
const MESSAGE = "This page could not be found.";
|
|
47
|
+
/**
|
|
48
|
+
* Mirrors `<HTTPAccessErrorFallback status={404} message="This page could not be found." />`
|
|
49
|
+
* from Next.js. Kept in sync with the upstream component's structure so HTML
|
|
50
|
+
* snapshot diffs between Next.js and vinext stay minimal.
|
|
51
|
+
*/
|
|
52
|
+
function DefaultNotFound() {
|
|
53
|
+
return React.createElement(React.Fragment, null, React.createElement("title", null, `${STATUS}: ${MESSAGE}`), React.createElement("div", { style: styles.error }, React.createElement("div", null, React.createElement("style", { dangerouslySetInnerHTML: { __html: "body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}" } }), React.createElement("h1", {
|
|
54
|
+
className: "next-error-h1",
|
|
55
|
+
style: styles.h1
|
|
56
|
+
}, STATUS), React.createElement("div", { style: styles.desc }, React.createElement("h2", { style: styles.h2 }, MESSAGE)))));
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
export { DefaultNotFound as default };
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/shims/document.d.ts
|
|
4
|
+
declare function Html({
|
|
5
|
+
children,
|
|
6
|
+
lang,
|
|
7
|
+
...props
|
|
8
|
+
}: React.HTMLAttributes<HTMLHtmlElement> & {
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
}): React.JSX.Element;
|
|
11
|
+
/**
|
|
12
|
+
* Document Head - renders <head> with children.
|
|
13
|
+
* The dev server injects meta tags, styles, etc.
|
|
14
|
+
*
|
|
15
|
+
* Note: charset and viewport are intentionally NOT hardcoded here. Those
|
|
16
|
+
* defaults are seeded by `next/head`'s `defaultHead()` and emitted alongside
|
|
17
|
+
* user `<Head>` tags via `getSSRHeadHTML()`, matching Next.js's canonical
|
|
18
|
+
* ordering (`<meta charset>` first, then `<meta viewport>`, then user tags,
|
|
19
|
+
* all with `data-next-head=""`). See `test/e2e/next-head/index.test.ts`.
|
|
20
|
+
*/
|
|
21
|
+
declare function Head({
|
|
22
|
+
children
|
|
23
|
+
}: {
|
|
24
|
+
children?: React.ReactNode;
|
|
25
|
+
}): React.JSX.Element;
|
|
26
|
+
/**
|
|
27
|
+
* Main - renders the page content container.
|
|
28
|
+
*/
|
|
29
|
+
declare function Main(): React.JSX.Element;
|
|
30
|
+
/**
|
|
31
|
+
* NextScript - renders a placeholder that the dev-server replaces with
|
|
32
|
+
* actual hydration scripts (__NEXT_DATA__ + entry module).
|
|
33
|
+
* Uses dangerouslySetInnerHTML so the HTML comment survives renderToString.
|
|
34
|
+
*/
|
|
35
|
+
declare function NextScript(): React.JSX.Element;
|
|
36
|
+
/**
|
|
37
|
+
* Stand-ins for Next.js's `DocumentContext` / `DocumentInitialProps`.
|
|
38
|
+
* The signatures match Next.js so custom `_document.tsx` subclasses can use
|
|
39
|
+
* `ctx.renderPage()` enhancers and delegate through
|
|
40
|
+
* `await Document.getInitialProps(ctx)` with the expected public types.
|
|
41
|
+
*
|
|
42
|
+
* @see https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/utils.ts
|
|
43
|
+
*/
|
|
44
|
+
type DocumentContext = {
|
|
45
|
+
renderPage: (options?: {
|
|
46
|
+
enhanceApp?: (App: React.ComponentType<{
|
|
47
|
+
children?: React.ReactNode;
|
|
48
|
+
}>) => React.ComponentType<{
|
|
49
|
+
children?: React.ReactNode;
|
|
50
|
+
}>;
|
|
51
|
+
enhanceComponent?: (Comp: React.ComponentType<unknown>) => React.ComponentType<unknown>;
|
|
52
|
+
} | ((Comp: React.ComponentType<unknown>) => React.ComponentType<unknown>)) => DocumentInitialProps | Promise<DocumentInitialProps>;
|
|
53
|
+
defaultGetInitialProps: (ctx: DocumentContext, options?: {
|
|
54
|
+
nonce?: string;
|
|
55
|
+
}) => Promise<DocumentInitialProps>;
|
|
56
|
+
pathname?: string;
|
|
57
|
+
query?: Record<string, string | string[] | undefined>;
|
|
58
|
+
asPath?: string;
|
|
59
|
+
err?: any;
|
|
60
|
+
};
|
|
61
|
+
type DocumentInitialProps = {
|
|
62
|
+
html: string;
|
|
63
|
+
head?: ReadonlyArray<React.ReactElement>;
|
|
64
|
+
styles?: React.ReactElement[] | Iterable<React.ReactNode> | React.ReactElement;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Default Document component — also the base class user `_document.tsx` files
|
|
68
|
+
* `extend`. Must be a class (not a function) to match Next.js's `next/document`
|
|
69
|
+
* default export so `class MyDocument extends Document` produces a constructible
|
|
70
|
+
* class that React can instantiate during SSR. Returning a function here breaks
|
|
71
|
+
* any user `_document.tsx` that uses the class-based form because `extends`
|
|
72
|
+
* against a non-constructor produces a class that can only be called without
|
|
73
|
+
* `new`, which React refuses to do.
|
|
74
|
+
*
|
|
75
|
+
* @see https://github.com/vercel/next.js/blob/canary/packages/next/src/pages/_document.tsx
|
|
76
|
+
* Ported behavior: Next.js's default `Document` is a `class Document extends
|
|
77
|
+
* React.Component`. Custom documents extend it and override `getInitialProps`
|
|
78
|
+
* and `render`. Generic default matches Next.js (`P = {}`).
|
|
79
|
+
*/
|
|
80
|
+
declare class Document<P = {}> extends React.Component<P & {
|
|
81
|
+
children?: React.ReactNode;
|
|
82
|
+
}> {
|
|
83
|
+
/**
|
|
84
|
+
* `getInitialProps` is invoked by the SSR pipeline. The runtime-provided
|
|
85
|
+
* `ctx.defaultGetInitialProps()` owns the page render and style collection,
|
|
86
|
+
* matching Next.js's canonical CSS-in-JS integration path.
|
|
87
|
+
*/
|
|
88
|
+
static getInitialProps(ctx: DocumentContext): Promise<DocumentInitialProps>;
|
|
89
|
+
render(): React.ReactNode;
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
export { DocumentContext, DocumentInitialProps, Head, Html, Main, NextScript, Document as default };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
//#region src/shims/document.tsx
|
|
4
|
+
/**
|
|
5
|
+
* next/document shim
|
|
6
|
+
*
|
|
7
|
+
* Provides Html, Head, Main, NextScript components for custom _document.tsx.
|
|
8
|
+
* During SSR these render placeholder markers that the dev server replaces
|
|
9
|
+
* with actual content.
|
|
10
|
+
*/
|
|
11
|
+
function Html({ children, lang, ...props }) {
|
|
12
|
+
return /* @__PURE__ */ jsx("html", {
|
|
13
|
+
lang,
|
|
14
|
+
...props,
|
|
15
|
+
children
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Document Head - renders <head> with children.
|
|
20
|
+
* The dev server injects meta tags, styles, etc.
|
|
21
|
+
*
|
|
22
|
+
* Note: charset and viewport are intentionally NOT hardcoded here. Those
|
|
23
|
+
* defaults are seeded by `next/head`'s `defaultHead()` and emitted alongside
|
|
24
|
+
* user `<Head>` tags via `getSSRHeadHTML()`, matching Next.js's canonical
|
|
25
|
+
* ordering (`<meta charset>` first, then `<meta viewport>`, then user tags,
|
|
26
|
+
* all with `data-next-head=""`). See `test/e2e/next-head/index.test.ts`.
|
|
27
|
+
*/
|
|
28
|
+
function Head({ children }) {
|
|
29
|
+
return /* @__PURE__ */ jsx("head", { children });
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Main - renders the page content container.
|
|
33
|
+
*/
|
|
34
|
+
function Main() {
|
|
35
|
+
return /* @__PURE__ */ jsx("div", {
|
|
36
|
+
id: "__next",
|
|
37
|
+
dangerouslySetInnerHTML: { __html: "__NEXT_MAIN__" }
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* NextScript - renders a placeholder that the dev-server replaces with
|
|
42
|
+
* actual hydration scripts (__NEXT_DATA__ + entry module).
|
|
43
|
+
* Uses dangerouslySetInnerHTML so the HTML comment survives renderToString.
|
|
44
|
+
*/
|
|
45
|
+
function NextScript() {
|
|
46
|
+
return /* @__PURE__ */ jsx("span", { dangerouslySetInnerHTML: { __html: "<!-- __NEXT_SCRIPTS__ -->" } });
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Default Document component — also the base class user `_document.tsx` files
|
|
50
|
+
* `extend`. Must be a class (not a function) to match Next.js's `next/document`
|
|
51
|
+
* default export so `class MyDocument extends Document` produces a constructible
|
|
52
|
+
* class that React can instantiate during SSR. Returning a function here breaks
|
|
53
|
+
* any user `_document.tsx` that uses the class-based form because `extends`
|
|
54
|
+
* against a non-constructor produces a class that can only be called without
|
|
55
|
+
* `new`, which React refuses to do.
|
|
56
|
+
*
|
|
57
|
+
* @see https://github.com/vercel/next.js/blob/canary/packages/next/src/pages/_document.tsx
|
|
58
|
+
* Ported behavior: Next.js's default `Document` is a `class Document extends
|
|
59
|
+
* React.Component`. Custom documents extend it and override `getInitialProps`
|
|
60
|
+
* and `render`. Generic default matches Next.js (`P = {}`).
|
|
61
|
+
*/
|
|
62
|
+
var Document = class extends React.Component {
|
|
63
|
+
/**
|
|
64
|
+
* `getInitialProps` is invoked by the SSR pipeline. The runtime-provided
|
|
65
|
+
* `ctx.defaultGetInitialProps()` owns the page render and style collection,
|
|
66
|
+
* matching Next.js's canonical CSS-in-JS integration path.
|
|
67
|
+
*/
|
|
68
|
+
static getInitialProps(ctx) {
|
|
69
|
+
return ctx.defaultGetInitialProps(ctx);
|
|
70
|
+
}
|
|
71
|
+
render() {
|
|
72
|
+
return /* @__PURE__ */ jsxs(Html, { children: [/* @__PURE__ */ jsx(Head, {}), /* @__PURE__ */ jsxs("body", { children: [/* @__PURE__ */ jsx(Main, {}), /* @__PURE__ */ jsx(NextScript, {})] })] });
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
//#endregion
|
|
76
|
+
export { Head, Html, Main, NextScript, Document as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/shims/dynamic-preload-chunks.d.ts
|
|
4
|
+
declare function DynamicPreloadChunks(props: {
|
|
5
|
+
moduleIds?: readonly string[];
|
|
6
|
+
}): React.FunctionComponentElement<React.FragmentProps> | null;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { DynamicPreloadChunks };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { appendAssetDeploymentIdQuery } from "../utils/deployment-id.js";
|
|
3
|
+
import { useScriptNonce } from "./script-nonce-context.js";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import * as ReactDOM from "react-dom";
|
|
6
|
+
//#region src/shims/dynamic-preload-chunks.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Preload links for rendered next/dynamic() boundaries.
|
|
9
|
+
*
|
|
10
|
+
* This MUST be a "use client" component. next/dynamic() can be called from
|
|
11
|
+
* either a Server Component or a Client Component. If this rendered in the
|
|
12
|
+
* environment of the call site, a Server-Component call site would render it in
|
|
13
|
+
* the RSC environment, where the script-nonce React context is unavailable
|
|
14
|
+
* (createContext is not callable in react-server), so emitted preload links
|
|
15
|
+
* would drop the request CSP nonce — a CSP violation under
|
|
16
|
+
* `script-src 'nonce-…' 'strict-dynamic'`.
|
|
17
|
+
*
|
|
18
|
+
* Marking it "use client" forces it into the SSR pass (where vinext installs
|
|
19
|
+
* the ScriptNonceProvider via withScriptNonce()), so the nonce is available
|
|
20
|
+
* regardless of whether the dynamic() call site is a Server or Client
|
|
21
|
+
* Component. This mirrors Next.js's <PreloadChunks> ('use client') and vinext's
|
|
22
|
+
* own next/script shim.
|
|
23
|
+
*
|
|
24
|
+
* Deliberate divergence from Next.js: for CSS we render
|
|
25
|
+
* `<link rel="stylesheet">` WITHOUT `as="style"`. Next.js emits `as="style"`,
|
|
26
|
+
* but per the HTML spec `as` is only meaningful on `rel="preload"`/`modulepreload`
|
|
27
|
+
* — on `rel="stylesheet"` it is ignored by browsers and is semantically wrong.
|
|
28
|
+
* React keys stylesheet resources on href + precedence, not `as`, so omitting it
|
|
29
|
+
* is safe. This is an intentional, documented difference, not a parity bug.
|
|
30
|
+
*/
|
|
31
|
+
function dynamicPreloadHref(file) {
|
|
32
|
+
if (file.startsWith("/") || file.startsWith("http://") || file.startsWith("https://") || file.startsWith("//")) return file;
|
|
33
|
+
return `/${file}`;
|
|
34
|
+
}
|
|
35
|
+
function resolveDynamicPreloadFiles(moduleIds) {
|
|
36
|
+
if (!moduleIds || moduleIds.length === 0) return [];
|
|
37
|
+
const preloadMap = globalThis.__VINEXT_DYNAMIC_PRELOADS__;
|
|
38
|
+
if (!preloadMap) return [];
|
|
39
|
+
const files = [];
|
|
40
|
+
const seen = /* @__PURE__ */ new Set();
|
|
41
|
+
for (const moduleId of moduleIds) for (const file of preloadMap[moduleId] ?? []) {
|
|
42
|
+
if (seen.has(file)) continue;
|
|
43
|
+
seen.add(file);
|
|
44
|
+
files.push(file);
|
|
45
|
+
}
|
|
46
|
+
return files;
|
|
47
|
+
}
|
|
48
|
+
function DynamicPreloadChunks(props) {
|
|
49
|
+
const nonce = useScriptNonce();
|
|
50
|
+
if (typeof window !== "undefined") return null;
|
|
51
|
+
const files = resolveDynamicPreloadFiles(props.moduleIds);
|
|
52
|
+
if (files.length === 0) return null;
|
|
53
|
+
const stylesheets = [];
|
|
54
|
+
for (const file of files) {
|
|
55
|
+
const assetHref = dynamicPreloadHref(file);
|
|
56
|
+
if (assetHref.endsWith(".css")) {
|
|
57
|
+
const href = appendAssetDeploymentIdQuery(assetHref);
|
|
58
|
+
stylesheets.push(React.createElement("link", {
|
|
59
|
+
key: href,
|
|
60
|
+
rel: "stylesheet",
|
|
61
|
+
href,
|
|
62
|
+
nonce,
|
|
63
|
+
precedence: "dynamic"
|
|
64
|
+
}));
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (assetHref.endsWith(".js") && typeof ReactDOM.preload === "function") {
|
|
68
|
+
const preloadOptions = {
|
|
69
|
+
as: "script",
|
|
70
|
+
fetchPriority: "low",
|
|
71
|
+
nonce
|
|
72
|
+
};
|
|
73
|
+
ReactDOM.preload(assetHref, preloadOptions);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return stylesheets.length > 0 ? React.createElement(React.Fragment, null, ...stylesheets) : null;
|
|
77
|
+
}
|
|
78
|
+
//#endregion
|
|
79
|
+
export { DynamicPreloadChunks };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ComponentType } from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/shims/dynamic.d.ts
|
|
4
|
+
type DynamicLoadingProps = {
|
|
5
|
+
error?: Error | null;
|
|
6
|
+
isLoading?: boolean;
|
|
7
|
+
pastDelay?: boolean;
|
|
8
|
+
retry?: () => void;
|
|
9
|
+
timedOut?: boolean;
|
|
10
|
+
};
|
|
11
|
+
type ComponentModule<P> = {
|
|
12
|
+
default: ComponentType<P>;
|
|
13
|
+
};
|
|
14
|
+
type LoaderComponent<P> = Promise<ComponentModule<P> | ComponentType<P>>;
|
|
15
|
+
type LoaderFn<P> = () => LoaderComponent<P>;
|
|
16
|
+
type DynamicOptions<P> = {
|
|
17
|
+
loading?: ComponentType<DynamicLoadingProps>;
|
|
18
|
+
loader?: Loader<P>;
|
|
19
|
+
loadableGenerated?: {
|
|
20
|
+
modules?: readonly string[];
|
|
21
|
+
};
|
|
22
|
+
modules?: readonly string[];
|
|
23
|
+
ssr?: boolean;
|
|
24
|
+
};
|
|
25
|
+
type Loader<P> = LoaderFn<P> | LoaderComponent<P>;
|
|
26
|
+
type DynamicInput<P> = DynamicOptions<P> | Loader<P>;
|
|
27
|
+
/**
|
|
28
|
+
* Wait for all pending dynamic() preloads to resolve, then clear the queue.
|
|
29
|
+
* Called by the Pages Router SSR handler before rendering.
|
|
30
|
+
* No-op for the App Router path which uses React.lazy + Suspense.
|
|
31
|
+
*/
|
|
32
|
+
declare function flushPreloads(): Promise<void[]>;
|
|
33
|
+
declare function dynamic<P extends object = object>(dynamicInput: DynamicInput<P>, options?: DynamicOptions<P>): ComponentType<P>;
|
|
34
|
+
//#endregion
|
|
35
|
+
export { dynamic as default, flushPreloads };
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { DynamicPreloadChunks } from "./dynamic-preload-chunks.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
//#region src/shims/dynamic.ts
|
|
4
|
+
/**
|
|
5
|
+
* next/dynamic shim
|
|
6
|
+
*
|
|
7
|
+
* SSR-safe dynamic imports. On the server, uses React.lazy + Suspense so that
|
|
8
|
+
* renderToReadableStream suspends until the dynamically-imported component is
|
|
9
|
+
* available. On the client, also uses React.lazy for code splitting.
|
|
10
|
+
*
|
|
11
|
+
* Works in RSC, SSR, and client environments:
|
|
12
|
+
* - RSC: Uses React.lazy + Suspense (available in React 19.x react-server).
|
|
13
|
+
* Falls back to async component pattern if a future React version
|
|
14
|
+
* strips lazy from react-server.
|
|
15
|
+
* - SSR: React.lazy + Suspense (renderToReadableStream suspends)
|
|
16
|
+
* - Client: React.lazy + Suspense (standard code splitting)
|
|
17
|
+
*
|
|
18
|
+
* Supports:
|
|
19
|
+
* - dynamic(import('./Component'))
|
|
20
|
+
* - dynamic(() => import('./Component'))
|
|
21
|
+
* - dynamic({ loader })
|
|
22
|
+
* - dynamic(() => import('./Component'), { loading: () => <Spinner /> })
|
|
23
|
+
* - dynamic(() => import('./Component'), { ssr: false })
|
|
24
|
+
*/
|
|
25
|
+
const noopRetry = () => {};
|
|
26
|
+
function createDynamicLoadingProps(overrides = {}) {
|
|
27
|
+
return {
|
|
28
|
+
error: null,
|
|
29
|
+
isLoading: true,
|
|
30
|
+
pastDelay: true,
|
|
31
|
+
retry: noopRetry,
|
|
32
|
+
timedOut: false,
|
|
33
|
+
...overrides
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function hasDefaultExport(mod) {
|
|
37
|
+
return (typeof mod === "object" || typeof mod === "function") && mod !== null && "default" in mod;
|
|
38
|
+
}
|
|
39
|
+
function normalizeLoader(loader) {
|
|
40
|
+
if (typeof loader === "function") return loader;
|
|
41
|
+
return () => loader;
|
|
42
|
+
}
|
|
43
|
+
function normalizeDynamicOptions(dynamicInput, options) {
|
|
44
|
+
let normalizedOptions;
|
|
45
|
+
if (dynamicInput instanceof Promise || typeof dynamicInput === "function") normalizedOptions = { loader: normalizeLoader(dynamicInput) };
|
|
46
|
+
else normalizedOptions = dynamicInput;
|
|
47
|
+
return {
|
|
48
|
+
...normalizedOptions,
|
|
49
|
+
...options
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function createLazyComponent(loader) {
|
|
53
|
+
return React.lazy(async () => {
|
|
54
|
+
const mod = await loader();
|
|
55
|
+
if (hasDefaultExport(mod)) return mod;
|
|
56
|
+
return { default: mod };
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function useRetryableLazyComponent(loader, initialLazyComponent) {
|
|
60
|
+
const [LazyComponent, setLazyComponent] = React.useState(() => initialLazyComponent);
|
|
61
|
+
const [retryKey, setRetryKey] = React.useState(0);
|
|
62
|
+
return {
|
|
63
|
+
LazyComponent,
|
|
64
|
+
retry: React.useCallback(() => {
|
|
65
|
+
setLazyComponent(() => createLazyComponent(loader));
|
|
66
|
+
setRetryKey((key) => key + 1);
|
|
67
|
+
}, [loader]),
|
|
68
|
+
retryKey
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Lightweight error boundary that renders the loading component with the error
|
|
73
|
+
* when a dynamic() loader rejects. Without this, loader failures would propagate
|
|
74
|
+
* uncaught through React's rendering — this preserves the Next.js behavior where
|
|
75
|
+
* the `loading` component can display errors.
|
|
76
|
+
*
|
|
77
|
+
* Lazily created because React.Component is not available in the RSC environment
|
|
78
|
+
* (server components use a slimmed-down React that doesn't include class components).
|
|
79
|
+
*/
|
|
80
|
+
let DynamicErrorBoundary;
|
|
81
|
+
function getDynamicErrorBoundary() {
|
|
82
|
+
if (DynamicErrorBoundary) return DynamicErrorBoundary;
|
|
83
|
+
if (!React.Component) return null;
|
|
84
|
+
DynamicErrorBoundary = class extends React.Component {
|
|
85
|
+
constructor(props) {
|
|
86
|
+
super(props);
|
|
87
|
+
this.state = {
|
|
88
|
+
error: null,
|
|
89
|
+
resetKey: props.resetKey
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
static getDerivedStateFromProps(props, state) {
|
|
93
|
+
if (props.resetKey !== state.resetKey) return {
|
|
94
|
+
error: null,
|
|
95
|
+
resetKey: props.resetKey
|
|
96
|
+
};
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
static getDerivedStateFromError(error) {
|
|
100
|
+
return { error: error instanceof Error ? error : new Error(String(error)) };
|
|
101
|
+
}
|
|
102
|
+
render() {
|
|
103
|
+
if (this.state.error) return React.createElement(this.props.fallback, createDynamicLoadingProps({
|
|
104
|
+
isLoading: false,
|
|
105
|
+
error: this.state.error,
|
|
106
|
+
retry: this.props.retry
|
|
107
|
+
}));
|
|
108
|
+
return this.props.children;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
return DynamicErrorBoundary;
|
|
112
|
+
}
|
|
113
|
+
const isServer = typeof window === "undefined";
|
|
114
|
+
const preloadQueue = [];
|
|
115
|
+
/**
|
|
116
|
+
* Wait for all pending dynamic() preloads to resolve, then clear the queue.
|
|
117
|
+
* Called by the Pages Router SSR handler before rendering.
|
|
118
|
+
* No-op for the App Router path which uses React.lazy + Suspense.
|
|
119
|
+
*/
|
|
120
|
+
function flushPreloads() {
|
|
121
|
+
const pending = preloadQueue.splice(0);
|
|
122
|
+
return Promise.all(pending);
|
|
123
|
+
}
|
|
124
|
+
function dynamic(dynamicInput, options) {
|
|
125
|
+
const { loader: dynamicLoader, loadableGenerated, loading: LoadingComponent, modules, ssr = true } = normalizeDynamicOptions(dynamicInput, options);
|
|
126
|
+
const loader = dynamicLoader ? normalizeLoader(dynamicLoader) : () => Promise.resolve(() => null);
|
|
127
|
+
const preloadModuleIds = loadableGenerated?.modules ?? modules;
|
|
128
|
+
if (!ssr) {
|
|
129
|
+
if (isServer) {
|
|
130
|
+
const SSRFalse = (_props) => LoadingComponent ? React.createElement(LoadingComponent, createDynamicLoadingProps()) : null;
|
|
131
|
+
SSRFalse.displayName = "DynamicSSRFalse";
|
|
132
|
+
return SSRFalse;
|
|
133
|
+
}
|
|
134
|
+
const InitialLazyComponent = createLazyComponent(loader);
|
|
135
|
+
const ClientSSRFalse = (props) => {
|
|
136
|
+
const [mounted, setMounted] = React.useState(false);
|
|
137
|
+
const { LazyComponent, retry, retryKey } = useRetryableLazyComponent(loader, InitialLazyComponent);
|
|
138
|
+
React.useEffect(() => setMounted(true), []);
|
|
139
|
+
if (!mounted) return LoadingComponent ? React.createElement(LoadingComponent, createDynamicLoadingProps({ retry })) : null;
|
|
140
|
+
const fallback = LoadingComponent ? React.createElement(LoadingComponent, createDynamicLoadingProps({ retry })) : null;
|
|
141
|
+
const lazyElement = React.createElement(LazyComponent, props);
|
|
142
|
+
let content = lazyElement;
|
|
143
|
+
if (LoadingComponent) {
|
|
144
|
+
const ErrorBoundary = getDynamicErrorBoundary();
|
|
145
|
+
if (ErrorBoundary) content = React.createElement(ErrorBoundary, {
|
|
146
|
+
fallback: LoadingComponent,
|
|
147
|
+
retry,
|
|
148
|
+
resetKey: retryKey
|
|
149
|
+
}, lazyElement);
|
|
150
|
+
}
|
|
151
|
+
return React.createElement(React.Suspense, { fallback }, content);
|
|
152
|
+
};
|
|
153
|
+
ClientSSRFalse.displayName = "DynamicClientSSRFalse";
|
|
154
|
+
return ClientSSRFalse;
|
|
155
|
+
}
|
|
156
|
+
if (isServer) {
|
|
157
|
+
if (typeof React.lazy !== "function") {
|
|
158
|
+
const AsyncServerDynamic = async (props) => {
|
|
159
|
+
const mod = await loader();
|
|
160
|
+
const Component = "default" in mod ? mod.default : mod;
|
|
161
|
+
return React.createElement(Component, props);
|
|
162
|
+
};
|
|
163
|
+
AsyncServerDynamic.displayName = "DynamicAsyncServer";
|
|
164
|
+
return AsyncServerDynamic;
|
|
165
|
+
}
|
|
166
|
+
const LazyServer = createLazyComponent(loader);
|
|
167
|
+
const ServerDynamic = (props) => {
|
|
168
|
+
const fallback = LoadingComponent ? React.createElement(LoadingComponent, createDynamicLoadingProps()) : null;
|
|
169
|
+
const lazyElement = React.createElement(LazyServer, props);
|
|
170
|
+
let content = lazyElement;
|
|
171
|
+
if (LoadingComponent) {
|
|
172
|
+
const ErrorBoundary = getDynamicErrorBoundary();
|
|
173
|
+
if (ErrorBoundary) content = React.createElement(ErrorBoundary, {
|
|
174
|
+
fallback: LoadingComponent,
|
|
175
|
+
retry: noopRetry,
|
|
176
|
+
resetKey: 0
|
|
177
|
+
}, lazyElement);
|
|
178
|
+
}
|
|
179
|
+
return React.createElement(React.Fragment, null, React.createElement(DynamicPreloadChunks, { moduleIds: preloadModuleIds }), React.createElement(React.Suspense, { fallback }, content));
|
|
180
|
+
};
|
|
181
|
+
ServerDynamic.displayName = "DynamicServer";
|
|
182
|
+
return ServerDynamic;
|
|
183
|
+
}
|
|
184
|
+
const InitialLazyComponent = createLazyComponent(loader);
|
|
185
|
+
const ClientDynamic = (props) => {
|
|
186
|
+
const { LazyComponent, retry, retryKey } = useRetryableLazyComponent(loader, InitialLazyComponent);
|
|
187
|
+
const fallback = LoadingComponent ? React.createElement(LoadingComponent, createDynamicLoadingProps({ retry })) : null;
|
|
188
|
+
const lazyElement = React.createElement(LazyComponent, props);
|
|
189
|
+
let content = lazyElement;
|
|
190
|
+
if (LoadingComponent) {
|
|
191
|
+
const ErrorBoundary = getDynamicErrorBoundary();
|
|
192
|
+
if (ErrorBoundary) content = React.createElement(ErrorBoundary, {
|
|
193
|
+
fallback: LoadingComponent,
|
|
194
|
+
retry,
|
|
195
|
+
resetKey: retryKey
|
|
196
|
+
}, lazyElement);
|
|
197
|
+
}
|
|
198
|
+
return React.createElement(React.Suspense, { fallback }, content);
|
|
199
|
+
};
|
|
200
|
+
ClientDynamic.displayName = "DynamicClient";
|
|
201
|
+
return ClientDynamic;
|
|
202
|
+
}
|
|
203
|
+
//#endregion
|
|
204
|
+
export { dynamic as default, flushPreloads };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AppRouterInstance } from "./internal/app-router-context.js";
|
|
2
|
+
|
|
3
|
+
//#region src/shims/error-boundary-navigation.d.ts
|
|
4
|
+
declare function useErrorBoundaryPathname(): string;
|
|
5
|
+
declare function useErrorBoundaryRouter(): AppRouterInstance;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { useErrorBoundaryPathname, useErrorBoundaryRouter };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { stripBasePath } from "../utils/base-path.js";
|
|
2
|
+
import { markPprFallbackShellDynamicBoundary } from "./ppr-fallback-shell.js";
|
|
3
|
+
import { AppRouterContext } from "./internal/app-router-context.js";
|
|
4
|
+
import { getNavigationContext } from "./navigation-context-state.js";
|
|
5
|
+
import "./navigation-server.js";
|
|
6
|
+
import * as React$1 from "react";
|
|
7
|
+
//#region src/shims/error-boundary-navigation.ts
|
|
8
|
+
const CLIENT_NAVIGATION_STATE_KEY = Symbol.for("vinext.clientNavigationState");
|
|
9
|
+
const CLIENT_NAVIGATION_RENDER_CONTEXT_KEY = Symbol.for("vinext.clientNavigationRenderContext");
|
|
10
|
+
const BASE_PATH = process.env.__NEXT_ROUTER_BASEPATH ?? "";
|
|
11
|
+
function getClientNavigationState() {
|
|
12
|
+
return globalThis[CLIENT_NAVIGATION_STATE_KEY];
|
|
13
|
+
}
|
|
14
|
+
function getClientPathnameSnapshot() {
|
|
15
|
+
return getClientNavigationState()?.cachedPathname ?? stripBasePath(window.location.pathname, BASE_PATH);
|
|
16
|
+
}
|
|
17
|
+
function getServerPathnameSnapshot() {
|
|
18
|
+
return getNavigationContext()?.pathname ?? "/";
|
|
19
|
+
}
|
|
20
|
+
function subscribeToCommittedPathname(listener) {
|
|
21
|
+
const state = getClientNavigationState();
|
|
22
|
+
if (!state) return () => {};
|
|
23
|
+
state.listeners.add(listener);
|
|
24
|
+
return () => state.listeners.delete(listener);
|
|
25
|
+
}
|
|
26
|
+
function getClientNavigationRenderContext() {
|
|
27
|
+
const globalState = globalThis;
|
|
28
|
+
return globalState[CLIENT_NAVIGATION_RENDER_CONTEXT_KEY] ??= React$1.createContext(null);
|
|
29
|
+
}
|
|
30
|
+
function useErrorBoundaryPathname() {
|
|
31
|
+
if (typeof window === "undefined") markPprFallbackShellDynamicBoundary();
|
|
32
|
+
const renderSnapshot = React$1.useContext(getClientNavigationRenderContext());
|
|
33
|
+
const committedPathname = React$1.useSyncExternalStore(subscribeToCommittedPathname, getClientPathnameSnapshot, getServerPathnameSnapshot);
|
|
34
|
+
if (renderSnapshot && (getClientNavigationState()?.navigationSnapshotActiveCount ?? 0) > 0) return renderSnapshot.pathname;
|
|
35
|
+
return committedPathname;
|
|
36
|
+
}
|
|
37
|
+
function useErrorBoundaryRouter() {
|
|
38
|
+
if (!AppRouterContext || typeof React$1.useContext !== "function") throw new Error("invariant expected app router to be mounted");
|
|
39
|
+
const router = React$1.useContext(AppRouterContext);
|
|
40
|
+
if (router === null) throw new Error("invariant expected app router to be mounted");
|
|
41
|
+
return router;
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { useErrorBoundaryPathname, useErrorBoundaryRouter };
|