@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,96 @@
|
|
|
1
|
+
//#region src/utils/asset-prefix.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Shared helpers for next.config `assetPrefix`.
|
|
4
|
+
*
|
|
5
|
+
* Mirrors Next.js semantics: `assetPrefix` is prepended to every JS/CSS/image/
|
|
6
|
+
* static asset URL emitted in the page. It is distinct from `basePath`, which
|
|
7
|
+
* affects route URLs.
|
|
8
|
+
*
|
|
9
|
+
* - A `assetPrefix` of `""` (empty) means "no prefix". URLs are emitted as
|
|
10
|
+
* `/_next/static/...` (Next.js's canonical convention) and assets are
|
|
11
|
+
* written to `dist/client/_next/static/...` so the on-disk layout matches.
|
|
12
|
+
* - A path prefix like `"/custom-asset-prefix"` is applied as a URL prefix
|
|
13
|
+
* relative to the deployment origin. The prod server must also serve assets
|
|
14
|
+
* under that prefix.
|
|
15
|
+
* - An absolute URL like `"https://cdn.example.com"` makes asset URLs fully
|
|
16
|
+
* qualified. Runtime serving on the deployment origin is a no-op — the CDN
|
|
17
|
+
* serves the assets directly.
|
|
18
|
+
*
|
|
19
|
+
* The path component of the asset URL after the prefix is always
|
|
20
|
+
* `/_next/static/<filename>` to match Next.js's convention. This is the
|
|
21
|
+
* convention upstream test suites assert against.
|
|
22
|
+
*
|
|
23
|
+
* @see https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Suffix appended to the assetPrefix (or used standalone when no prefix is
|
|
27
|
+
* configured) to form the leading portion of every emitted asset URL.
|
|
28
|
+
* Matches Next.js: assets always live under `/_next/static/`.
|
|
29
|
+
*/
|
|
30
|
+
declare const ASSET_PREFIX_URL_DIR = "_next/static";
|
|
31
|
+
/** Whether `assetPrefix` is an absolute URL (vs a path prefix). */
|
|
32
|
+
declare function isAbsoluteAssetPrefix(assetPrefix: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Compute the on-disk `build.assetsDir` for the given `assetPrefix`.
|
|
35
|
+
*
|
|
36
|
+
* - Path prefix (`/cdn`): write to `cdn/_next/static/` so the on-disk layout
|
|
37
|
+
* matches the URL — the Cloudflare ASSETS binding (and any static file
|
|
38
|
+
* server) serves them directly without a runtime rewrite.
|
|
39
|
+
* - Absolute URL (with or without path component): write to `_next/static/`.
|
|
40
|
+
* Runtime serving is best-effort — the CDN is expected to serve these.
|
|
41
|
+
* - Empty: write to `_next/static/` so the on-disk layout matches the URL
|
|
42
|
+
* Next.js itself emits (and that the Next.js client runtime + upstream
|
|
43
|
+
* test suites assert against). This makes `assetPrefix` consistent in
|
|
44
|
+
* both the configured and unconfigured cases — the URL contract is
|
|
45
|
+
* always `/<prefix?>/_next/static/...`, and the on-disk layout mirrors
|
|
46
|
+
* it 1:1 so the static-file layer can serve hits and return
|
|
47
|
+
* `404 + "Not Found"` on misses without any URL-shape special-casing
|
|
48
|
+
* upstream of it.
|
|
49
|
+
*/
|
|
50
|
+
declare function resolveAssetsDir(assetPrefix: string): string;
|
|
51
|
+
/**
|
|
52
|
+
* Build the URL prefix to apply to emitted asset URLs. Returns the full URL
|
|
53
|
+
* prefix including the `_next/static/` directory, with a trailing slash.
|
|
54
|
+
*
|
|
55
|
+
* Examples:
|
|
56
|
+
* - `""` → `"/_next/static/"`
|
|
57
|
+
* - `"/cdn"` → `"/cdn/_next/static/"`
|
|
58
|
+
* - `"https://cdn.example.com"` → `"https://cdn.example.com/_next/static/"`
|
|
59
|
+
* - `"https://cdn.example.com/sub"` → `"https://cdn.example.com/sub/_next/static/"`
|
|
60
|
+
*/
|
|
61
|
+
declare function resolveAssetUrlPrefix(assetPrefix: string): string;
|
|
62
|
+
/**
|
|
63
|
+
* Extract the path portion of `assetPrefix` for use in runtime URL matching.
|
|
64
|
+
*
|
|
65
|
+
* - For a path prefix: returns it verbatim (e.g. `/custom-asset-prefix`).
|
|
66
|
+
* - For an absolute URL: returns its pathname stripped of trailing slashes
|
|
67
|
+
* (e.g. `"https://cdn.example.com/sub"` → `/sub`, plain origin → `""`).
|
|
68
|
+
* - For empty input: returns `""`.
|
|
69
|
+
*
|
|
70
|
+
* Used by the prod server and Cloudflare worker entry to recognise asset
|
|
71
|
+
* requests that arrive at the deployment origin under the configured prefix.
|
|
72
|
+
*/
|
|
73
|
+
declare function assetPrefixPathname(assetPrefix: string): string;
|
|
74
|
+
/**
|
|
75
|
+
* Whether the incoming request pathname targets the canonical `_next/static/`
|
|
76
|
+
* tree, after stripping any configured `basePath` and `assetPrefix` path
|
|
77
|
+
* component.
|
|
78
|
+
*
|
|
79
|
+
* Used by the Cloudflare worker entry to recognise asset-shaped requests
|
|
80
|
+
* that the ASSETS binding didn't serve, so they can short-circuit with a
|
|
81
|
+
* plain-text 404 instead of falling through to the RSC handler (which
|
|
82
|
+
* would render the full HTML 404 page). Mirrors Next.js's behaviour in
|
|
83
|
+
* `packages/next/src/server/lib/router-server.ts` where
|
|
84
|
+
* `realRequestPathname` is stripped of basePath/assetPrefix/i18n locale
|
|
85
|
+
* before the `startsWith('/_next/static/')` check.
|
|
86
|
+
*
|
|
87
|
+
* - `pathname`: incoming request pathname (with leading slash, no query).
|
|
88
|
+
* - `basePath`: configured `basePath` (e.g. `"/docs"`) or `""`.
|
|
89
|
+
* - `assetPathPrefix`: path component of `assetPrefix` (e.g. `"/cdn"`) or
|
|
90
|
+
* `""`. Use `assetPrefixPathname()` to derive this from a raw assetPrefix.
|
|
91
|
+
*
|
|
92
|
+
* @see https://github.com/vercel/next.js/blob/canary/packages/next/src/server/lib/router-server.ts
|
|
93
|
+
*/
|
|
94
|
+
declare function isNextStaticPath(pathname: string, basePath: string, assetPathPrefix: string): boolean;
|
|
95
|
+
//#endregion
|
|
96
|
+
export { ASSET_PREFIX_URL_DIR, assetPrefixPathname, isAbsoluteAssetPrefix, isNextStaticPath, resolveAssetUrlPrefix, resolveAssetsDir };
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
//#region src/utils/asset-prefix.ts
|
|
2
|
+
/**
|
|
3
|
+
* Shared helpers for next.config `assetPrefix`.
|
|
4
|
+
*
|
|
5
|
+
* Mirrors Next.js semantics: `assetPrefix` is prepended to every JS/CSS/image/
|
|
6
|
+
* static asset URL emitted in the page. It is distinct from `basePath`, which
|
|
7
|
+
* affects route URLs.
|
|
8
|
+
*
|
|
9
|
+
* - A `assetPrefix` of `""` (empty) means "no prefix". URLs are emitted as
|
|
10
|
+
* `/_next/static/...` (Next.js's canonical convention) and assets are
|
|
11
|
+
* written to `dist/client/_next/static/...` so the on-disk layout matches.
|
|
12
|
+
* - A path prefix like `"/custom-asset-prefix"` is applied as a URL prefix
|
|
13
|
+
* relative to the deployment origin. The prod server must also serve assets
|
|
14
|
+
* under that prefix.
|
|
15
|
+
* - An absolute URL like `"https://cdn.example.com"` makes asset URLs fully
|
|
16
|
+
* qualified. Runtime serving on the deployment origin is a no-op — the CDN
|
|
17
|
+
* serves the assets directly.
|
|
18
|
+
*
|
|
19
|
+
* The path component of the asset URL after the prefix is always
|
|
20
|
+
* `/_next/static/<filename>` to match Next.js's convention. This is the
|
|
21
|
+
* convention upstream test suites assert against.
|
|
22
|
+
*
|
|
23
|
+
* @see https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Suffix appended to the assetPrefix (or used standalone when no prefix is
|
|
27
|
+
* configured) to form the leading portion of every emitted asset URL.
|
|
28
|
+
* Matches Next.js: assets always live under `/_next/static/`.
|
|
29
|
+
*/
|
|
30
|
+
const ASSET_PREFIX_URL_DIR = "_next/static";
|
|
31
|
+
/** Whether `assetPrefix` is an absolute URL (vs a path prefix). */
|
|
32
|
+
function isAbsoluteAssetPrefix(assetPrefix) {
|
|
33
|
+
return /^https?:\/\//i.test(assetPrefix);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Compute the on-disk `build.assetsDir` for the given `assetPrefix`.
|
|
37
|
+
*
|
|
38
|
+
* - Path prefix (`/cdn`): write to `cdn/_next/static/` so the on-disk layout
|
|
39
|
+
* matches the URL — the Cloudflare ASSETS binding (and any static file
|
|
40
|
+
* server) serves them directly without a runtime rewrite.
|
|
41
|
+
* - Absolute URL (with or without path component): write to `_next/static/`.
|
|
42
|
+
* Runtime serving is best-effort — the CDN is expected to serve these.
|
|
43
|
+
* - Empty: write to `_next/static/` so the on-disk layout matches the URL
|
|
44
|
+
* Next.js itself emits (and that the Next.js client runtime + upstream
|
|
45
|
+
* test suites assert against). This makes `assetPrefix` consistent in
|
|
46
|
+
* both the configured and unconfigured cases — the URL contract is
|
|
47
|
+
* always `/<prefix?>/_next/static/...`, and the on-disk layout mirrors
|
|
48
|
+
* it 1:1 so the static-file layer can serve hits and return
|
|
49
|
+
* `404 + "Not Found"` on misses without any URL-shape special-casing
|
|
50
|
+
* upstream of it.
|
|
51
|
+
*/
|
|
52
|
+
function resolveAssetsDir(assetPrefix) {
|
|
53
|
+
if (!assetPrefix) return ASSET_PREFIX_URL_DIR;
|
|
54
|
+
if (isAbsoluteAssetPrefix(assetPrefix)) return ASSET_PREFIX_URL_DIR;
|
|
55
|
+
let stripped = assetPrefix;
|
|
56
|
+
while (stripped.startsWith("/")) stripped = stripped.slice(1);
|
|
57
|
+
return `${stripped}/${ASSET_PREFIX_URL_DIR}`;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Build the URL prefix to apply to emitted asset URLs. Returns the full URL
|
|
61
|
+
* prefix including the `_next/static/` directory, with a trailing slash.
|
|
62
|
+
*
|
|
63
|
+
* Examples:
|
|
64
|
+
* - `""` → `"/_next/static/"`
|
|
65
|
+
* - `"/cdn"` → `"/cdn/_next/static/"`
|
|
66
|
+
* - `"https://cdn.example.com"` → `"https://cdn.example.com/_next/static/"`
|
|
67
|
+
* - `"https://cdn.example.com/sub"` → `"https://cdn.example.com/sub/_next/static/"`
|
|
68
|
+
*/
|
|
69
|
+
function resolveAssetUrlPrefix(assetPrefix) {
|
|
70
|
+
if (!assetPrefix) return `/${ASSET_PREFIX_URL_DIR}/`;
|
|
71
|
+
return `${assetPrefix}/${ASSET_PREFIX_URL_DIR}/`;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Extract the path portion of `assetPrefix` for use in runtime URL matching.
|
|
75
|
+
*
|
|
76
|
+
* - For a path prefix: returns it verbatim (e.g. `/custom-asset-prefix`).
|
|
77
|
+
* - For an absolute URL: returns its pathname stripped of trailing slashes
|
|
78
|
+
* (e.g. `"https://cdn.example.com/sub"` → `/sub`, plain origin → `""`).
|
|
79
|
+
* - For empty input: returns `""`.
|
|
80
|
+
*
|
|
81
|
+
* Used by the prod server and Cloudflare worker entry to recognise asset
|
|
82
|
+
* requests that arrive at the deployment origin under the configured prefix.
|
|
83
|
+
*/
|
|
84
|
+
function assetPrefixPathname(assetPrefix) {
|
|
85
|
+
if (!assetPrefix) return "";
|
|
86
|
+
if (!isAbsoluteAssetPrefix(assetPrefix)) return assetPrefix;
|
|
87
|
+
try {
|
|
88
|
+
let pathname = new URL(assetPrefix).pathname;
|
|
89
|
+
while (pathname.endsWith("/")) pathname = pathname.slice(0, -1);
|
|
90
|
+
return pathname === "" ? "" : pathname;
|
|
91
|
+
} catch {
|
|
92
|
+
return "";
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Whether the incoming request pathname targets the canonical `_next/static/`
|
|
97
|
+
* tree, after stripping any configured `basePath` and `assetPrefix` path
|
|
98
|
+
* component.
|
|
99
|
+
*
|
|
100
|
+
* Used by the Cloudflare worker entry to recognise asset-shaped requests
|
|
101
|
+
* that the ASSETS binding didn't serve, so they can short-circuit with a
|
|
102
|
+
* plain-text 404 instead of falling through to the RSC handler (which
|
|
103
|
+
* would render the full HTML 404 page). Mirrors Next.js's behaviour in
|
|
104
|
+
* `packages/next/src/server/lib/router-server.ts` where
|
|
105
|
+
* `realRequestPathname` is stripped of basePath/assetPrefix/i18n locale
|
|
106
|
+
* before the `startsWith('/_next/static/')` check.
|
|
107
|
+
*
|
|
108
|
+
* - `pathname`: incoming request pathname (with leading slash, no query).
|
|
109
|
+
* - `basePath`: configured `basePath` (e.g. `"/docs"`) or `""`.
|
|
110
|
+
* - `assetPathPrefix`: path component of `assetPrefix` (e.g. `"/cdn"`) or
|
|
111
|
+
* `""`. Use `assetPrefixPathname()` to derive this from a raw assetPrefix.
|
|
112
|
+
*
|
|
113
|
+
* @see https://github.com/vercel/next.js/blob/canary/packages/next/src/server/lib/router-server.ts
|
|
114
|
+
*/
|
|
115
|
+
function isNextStaticPath(pathname, basePath, assetPathPrefix) {
|
|
116
|
+
let p = pathname;
|
|
117
|
+
if (basePath && (p === basePath || p.startsWith(basePath + "/"))) p = p.slice(basePath.length) || "/";
|
|
118
|
+
if (assetPathPrefix && (p === assetPathPrefix || p.startsWith(assetPathPrefix + "/"))) p = p.slice(assetPathPrefix.length) || "/";
|
|
119
|
+
return p.startsWith(`/${ASSET_PREFIX_URL_DIR}/`);
|
|
120
|
+
}
|
|
121
|
+
//#endregion
|
|
122
|
+
export { ASSET_PREFIX_URL_DIR, assetPrefixPathname, isAbsoluteAssetPrefix, isNextStaticPath, resolveAssetUrlPrefix, resolveAssetsDir };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//#region src/utils/base-path.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Shared basePath helpers.
|
|
4
|
+
*
|
|
5
|
+
* Next.js only treats a pathname as being under basePath when it is an exact
|
|
6
|
+
* match ("/app") or starts with the basePath followed by a path separator
|
|
7
|
+
* ("/app/..."). Prefix-only matches like "/application" must be left intact.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Check whether a pathname is inside the configured basePath.
|
|
11
|
+
*/
|
|
12
|
+
declare function hasBasePath(pathname: string, basePath: string): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Strip the basePath prefix from a pathname when it matches on a segment
|
|
15
|
+
* boundary. Returns the original pathname when it is outside the basePath.
|
|
16
|
+
*/
|
|
17
|
+
declare function stripBasePath(pathname: string, basePath: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Add the configured basePath to a pathname unless it is already inside that
|
|
20
|
+
* basePath. Query strings and hashes must be handled by callers before calling
|
|
21
|
+
* this pathname-only helper.
|
|
22
|
+
*/
|
|
23
|
+
declare function addBasePathToPathname(pathname: string, basePath: string | undefined): string;
|
|
24
|
+
/**
|
|
25
|
+
* Remove trailing slashes from a pathname while preserving the root "/".
|
|
26
|
+
* Collapses any number of trailing slashes ("/a//" → "/a"). Used by the
|
|
27
|
+
* trailing-slash redirect path and route pattern normalization.
|
|
28
|
+
*/
|
|
29
|
+
declare function removeTrailingSlash(pathname: string): string;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { addBasePathToPathname, hasBasePath, removeTrailingSlash, stripBasePath };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//#region src/utils/base-path.ts
|
|
2
|
+
/**
|
|
3
|
+
* Shared basePath helpers.
|
|
4
|
+
*
|
|
5
|
+
* Next.js only treats a pathname as being under basePath when it is an exact
|
|
6
|
+
* match ("/app") or starts with the basePath followed by a path separator
|
|
7
|
+
* ("/app/..."). Prefix-only matches like "/application" must be left intact.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Check whether a pathname is inside the configured basePath.
|
|
11
|
+
*/
|
|
12
|
+
function hasBasePath(pathname, basePath) {
|
|
13
|
+
if (!basePath) return false;
|
|
14
|
+
return pathname === basePath || pathname.startsWith(basePath + "/");
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Strip the basePath prefix from a pathname when it matches on a segment
|
|
18
|
+
* boundary. Returns the original pathname when it is outside the basePath.
|
|
19
|
+
*/
|
|
20
|
+
function stripBasePath(pathname, basePath) {
|
|
21
|
+
if (!hasBasePath(pathname, basePath)) return pathname;
|
|
22
|
+
return pathname.slice(basePath.length) || "/";
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Add the configured basePath to a pathname unless it is already inside that
|
|
26
|
+
* basePath. Query strings and hashes must be handled by callers before calling
|
|
27
|
+
* this pathname-only helper.
|
|
28
|
+
*/
|
|
29
|
+
function addBasePathToPathname(pathname, basePath) {
|
|
30
|
+
if (!basePath || hasBasePath(pathname, basePath)) return pathname;
|
|
31
|
+
return pathname === "/" ? basePath : `${basePath}${pathname}`;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Remove trailing slashes from a pathname while preserving the root "/".
|
|
35
|
+
* Collapses any number of trailing slashes ("/a//" → "/a"). Used by the
|
|
36
|
+
* trailing-slash redirect path and route pattern normalization.
|
|
37
|
+
*/
|
|
38
|
+
function removeTrailingSlash(pathname) {
|
|
39
|
+
if (pathname === "/") return "/";
|
|
40
|
+
let end = pathname.length;
|
|
41
|
+
while (end > 0 && pathname.charCodeAt(end - 1) === 47) end--;
|
|
42
|
+
return end === 0 ? "/" : pathname.slice(0, end);
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { addBasePathToPathname, hasBasePath, removeTrailingSlash, stripBasePath };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { appendDeploymentIdQuery } from "./deployment-id.js";
|
|
2
|
+
import { ASSET_PREFIX_URL_DIR, resolveAssetUrlPrefix, resolveAssetsDir } from "./asset-prefix.js";
|
|
3
|
+
//#region src/utils/built-asset-url.ts
|
|
4
|
+
function renderVinextBuiltUrl(filename, assetPrefix, deploymentId, hostType) {
|
|
5
|
+
const urlPrefix = resolveAssetUrlPrefix(assetPrefix);
|
|
6
|
+
const dirPrefix = resolveAssetsDir(assetPrefix) + "/";
|
|
7
|
+
const url = urlPrefix + (filename.startsWith(dirPrefix) ? filename.slice(dirPrefix.length) : filename.startsWith(`_next/static/`) ? filename.slice(ASSET_PREFIX_URL_DIR.length + 1) : filename);
|
|
8
|
+
return hostType === "js" ? url : appendDeploymentIdQuery(url, deploymentId);
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { renderVinextBuiltUrl };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { isUnknownRecord } from "./record.js";
|
|
2
|
+
//#region src/utils/cache-control-metadata.ts
|
|
3
|
+
function readRecordField(ctx, field) {
|
|
4
|
+
const value = ctx?.[field];
|
|
5
|
+
return isUnknownRecord(value) ? value : void 0;
|
|
6
|
+
}
|
|
7
|
+
function readCacheControlNumberField(ctx, field) {
|
|
8
|
+
const value = readRecordField(ctx, "cacheControl")?.[field] ?? ctx?.[field];
|
|
9
|
+
return typeof value === "number" ? value : void 0;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { readCacheControlNumberField };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BuildManifestChunk } from "./lazy-chunks.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/client-build-manifest.d.ts
|
|
4
|
+
type ClientBuildManifest = Record<string, BuildManifestChunk>;
|
|
5
|
+
declare function readClientBuildManifest(manifestPath: string): ClientBuildManifest | undefined;
|
|
6
|
+
declare function findClientEntryFileFromManifest(buildManifest: ClientBuildManifest, assetBase: string): string | undefined;
|
|
7
|
+
declare function findPagesClientEntryFileFromManifest(buildManifest: ClientBuildManifest, assetBase: string): string | undefined;
|
|
8
|
+
declare function findClientEntryFile(options: {
|
|
9
|
+
buildManifest?: ClientBuildManifest;
|
|
10
|
+
clientDir: string;
|
|
11
|
+
assetsSubdir: string;
|
|
12
|
+
assetBase: string;
|
|
13
|
+
}): string | undefined;
|
|
14
|
+
declare function findPagesClientEntryFile(options: {
|
|
15
|
+
buildManifest?: ClientBuildManifest;
|
|
16
|
+
clientDir: string;
|
|
17
|
+
assetsSubdir: string;
|
|
18
|
+
assetBase: string;
|
|
19
|
+
}): string | undefined;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { findClientEntryFile, findClientEntryFileFromManifest, findPagesClientEntryFile, findPagesClientEntryFileFromManifest, readClientBuildManifest };
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { isUnknownRecord } from "./record.js";
|
|
2
|
+
import { manifestFileWithBase } from "./manifest-paths.js";
|
|
3
|
+
import fs from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
//#region src/utils/client-build-manifest.ts
|
|
6
|
+
const PAGES_CLIENT_ENTRY_MARKERS = ["vinext-client-entry"];
|
|
7
|
+
const CLIENT_ENTRY_MARKERS = [...PAGES_CLIENT_ENTRY_MARKERS, "vinext-app-browser-entry"];
|
|
8
|
+
function readClientBuildManifest(manifestPath) {
|
|
9
|
+
if (!fs.existsSync(manifestPath)) return void 0;
|
|
10
|
+
try {
|
|
11
|
+
const value = JSON.parse(fs.readFileSync(manifestPath, "utf-8"));
|
|
12
|
+
if (!isUnknownRecord(value)) return void 0;
|
|
13
|
+
const manifest = {};
|
|
14
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
15
|
+
if (!isUnknownRecord(entry) || typeof entry.file !== "string") continue;
|
|
16
|
+
const imports = readStringArray(entry.imports);
|
|
17
|
+
const dynamicImports = readStringArray(entry.dynamicImports);
|
|
18
|
+
const css = readStringArray(entry.css);
|
|
19
|
+
const assets = readStringArray(entry.assets);
|
|
20
|
+
manifest[key] = {
|
|
21
|
+
file: entry.file,
|
|
22
|
+
...entry.isEntry === true ? { isEntry: true } : {},
|
|
23
|
+
...entry.isDynamicEntry === true ? { isDynamicEntry: true } : {},
|
|
24
|
+
...imports ? { imports } : {},
|
|
25
|
+
...dynamicImports ? { dynamicImports } : {},
|
|
26
|
+
...css ? { css } : {},
|
|
27
|
+
...assets ? { assets } : {}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return manifest;
|
|
31
|
+
} catch {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function findClientEntryFileFromManifest(buildManifest, assetBase) {
|
|
36
|
+
return findEntryFileFromManifest(buildManifest, assetBase, CLIENT_ENTRY_MARKERS, true);
|
|
37
|
+
}
|
|
38
|
+
function findPagesClientEntryFileFromManifest(buildManifest, assetBase) {
|
|
39
|
+
return findEntryFileFromManifest(buildManifest, assetBase, PAGES_CLIENT_ENTRY_MARKERS, false);
|
|
40
|
+
}
|
|
41
|
+
function findEntryFileFromManifest(buildManifest, assetBase, markers, fallbackToFirstEntry) {
|
|
42
|
+
const entries = Object.values(buildManifest).filter((entry) => entry.isEntry && entry.file);
|
|
43
|
+
for (const marker of markers) {
|
|
44
|
+
const markedEntry = entries.find((entry) => entry.file.includes(marker));
|
|
45
|
+
if (markedEntry) return manifestFileWithBase(markedEntry.file, assetBase);
|
|
46
|
+
}
|
|
47
|
+
const chosen = fallbackToFirstEntry ? entries[0] : void 0;
|
|
48
|
+
return chosen ? manifestFileWithBase(chosen.file, assetBase) : void 0;
|
|
49
|
+
}
|
|
50
|
+
function listFilesRecursive(dir) {
|
|
51
|
+
const out = [];
|
|
52
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
53
|
+
const full = path.join(dir, entry.name);
|
|
54
|
+
if (entry.isDirectory()) out.push(...listFilesRecursive(full));
|
|
55
|
+
else if (entry.isFile()) out.push(full);
|
|
56
|
+
}
|
|
57
|
+
return out;
|
|
58
|
+
}
|
|
59
|
+
function findClientEntryFileInAssetsDir(options) {
|
|
60
|
+
const assetsDir = path.join(options.clientDir, options.assetsSubdir);
|
|
61
|
+
if (!fs.existsSync(assetsDir)) return void 0;
|
|
62
|
+
const files = listFilesRecursive(assetsDir);
|
|
63
|
+
let entryFull;
|
|
64
|
+
for (const marker of options.markers) {
|
|
65
|
+
entryFull = files.find((file) => path.basename(file).includes(marker) && file.endsWith(".js"));
|
|
66
|
+
if (entryFull) break;
|
|
67
|
+
}
|
|
68
|
+
if (!entryFull) return void 0;
|
|
69
|
+
return manifestFileWithBase(path.relative(options.clientDir, entryFull).split(path.sep).join("/"), options.assetBase);
|
|
70
|
+
}
|
|
71
|
+
function findClientEntryFile(options) {
|
|
72
|
+
return (options.buildManifest ? findClientEntryFileFromManifest(options.buildManifest, options.assetBase) : void 0) ?? findClientEntryFileInAssetsDir({
|
|
73
|
+
...options,
|
|
74
|
+
markers: CLIENT_ENTRY_MARKERS
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function findPagesClientEntryFile(options) {
|
|
78
|
+
return (options.buildManifest ? findPagesClientEntryFileFromManifest(options.buildManifest, options.assetBase) : void 0) ?? findClientEntryFileInAssetsDir({
|
|
79
|
+
...options,
|
|
80
|
+
markers: PAGES_CLIENT_ENTRY_MARKERS
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function readStringArray(value) {
|
|
84
|
+
return Array.isArray(value) && value.every((item) => typeof item === "string") ? value : void 0;
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { findClientEntryFile, findClientEntryFileFromManifest, findPagesClientEntryFile, findPagesClientEntryFileFromManifest, readClientBuildManifest };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/utils/client-entry-manifest.d.ts
|
|
2
|
+
declare const VINEXT_CLIENT_ENTRY_MANIFEST = "vinext-client-entry-manifest.json";
|
|
3
|
+
type ClientEntryManifest = {
|
|
4
|
+
pagesClientEntry?: string;
|
|
5
|
+
appBrowserEntry?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function readClientEntryManifest(clientDir: string): ClientEntryManifest | undefined;
|
|
8
|
+
declare function findClientEntryFileFromVinextManifest(manifest: ClientEntryManifest | undefined, assetBase: string): string | undefined;
|
|
9
|
+
declare function findPagesClientEntryFileFromVinextManifest(manifest: ClientEntryManifest | undefined, assetBase: string): string | undefined;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { ClientEntryManifest, VINEXT_CLIENT_ENTRY_MANIFEST, findClientEntryFileFromVinextManifest, findPagesClientEntryFileFromVinextManifest, readClientEntryManifest };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { isUnknownRecord } from "./record.js";
|
|
2
|
+
import { manifestFileWithBase } from "./manifest-paths.js";
|
|
3
|
+
import fs from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
//#region src/utils/client-entry-manifest.ts
|
|
6
|
+
const VINEXT_CLIENT_ENTRY_MANIFEST = "vinext-client-entry-manifest.json";
|
|
7
|
+
function readClientEntryManifest(clientDir) {
|
|
8
|
+
const manifestPath = path.join(clientDir, VINEXT_CLIENT_ENTRY_MANIFEST);
|
|
9
|
+
if (!fs.existsSync(manifestPath)) return void 0;
|
|
10
|
+
try {
|
|
11
|
+
const value = JSON.parse(fs.readFileSync(manifestPath, "utf-8"));
|
|
12
|
+
if (!isUnknownRecord(value)) return void 0;
|
|
13
|
+
const manifest = {};
|
|
14
|
+
if (typeof value.pagesClientEntry === "string") manifest.pagesClientEntry = value.pagesClientEntry;
|
|
15
|
+
if (typeof value.appBrowserEntry === "string") manifest.appBrowserEntry = value.appBrowserEntry;
|
|
16
|
+
return manifest.pagesClientEntry || manifest.appBrowserEntry ? manifest : void 0;
|
|
17
|
+
} catch {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function findClientEntryFileFromVinextManifest(manifest, assetBase) {
|
|
22
|
+
const entry = manifest?.pagesClientEntry ?? manifest?.appBrowserEntry;
|
|
23
|
+
return entry ? manifestFileWithBase(entry, assetBase) : void 0;
|
|
24
|
+
}
|
|
25
|
+
function findPagesClientEntryFileFromVinextManifest(manifest, assetBase) {
|
|
26
|
+
return manifest?.pagesClientEntry ? manifestFileWithBase(manifest.pagesClientEntry, assetBase) : void 0;
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { VINEXT_CLIENT_ENTRY_MANIFEST, findClientEntryFileFromVinextManifest, findPagesClientEntryFileFromVinextManifest, readClientEntryManifest };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//#region src/utils/client-runtime-metadata.d.ts
|
|
2
|
+
type ClientRuntimeMetadata = {
|
|
3
|
+
clientEntryFile?: string;
|
|
4
|
+
lazyChunks?: string[];
|
|
5
|
+
dynamicPreloads?: Record<string, string[]>;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Read the client build manifest and compute runtime metadata used by
|
|
9
|
+
* Cloudflare worker entry injection and Node production server startup.
|
|
10
|
+
*
|
|
11
|
+
* - `lazyChunks` — chunks only reachable through dynamic `import()`, excluded
|
|
12
|
+
* from modulepreload hints.
|
|
13
|
+
* - `dynamicPreloads` — per-module JS/CSS files for rendered `next/dynamic()`
|
|
14
|
+
* boundaries, injected as preload links during SSR.
|
|
15
|
+
* - `clientEntryFile` — the client entry chunk filename (optional, only
|
|
16
|
+
* needed for Pages Router).
|
|
17
|
+
*
|
|
18
|
+
* All file paths are normalised with the configured `assetBase` (basePath)
|
|
19
|
+
* and `assetPrefix`.
|
|
20
|
+
*/
|
|
21
|
+
declare function computeClientRuntimeMetadata(opts: {
|
|
22
|
+
clientDir: string;
|
|
23
|
+
assetBase: string;
|
|
24
|
+
assetPrefix: string;
|
|
25
|
+
includeClientEntry?: boolean | "pages-client-entry";
|
|
26
|
+
}): ClientRuntimeMetadata;
|
|
27
|
+
/**
|
|
28
|
+
* Serialize runtime metadata into the `globalThis.__VINEXT_*` assignment script
|
|
29
|
+
* that the Cloudflare `closeBundle` hook prepends to the worker entry. Returns
|
|
30
|
+
* `""` when there is nothing to inject.
|
|
31
|
+
*
|
|
32
|
+
* Both the App Router and Pages Router closeBundle paths call this (and the
|
|
33
|
+
* deploy tests mirror it), so the injection shape stays in one place. The caller
|
|
34
|
+
* decides which fields to pass — e.g. App Router only forwards `clientEntryFile`
|
|
35
|
+
* for mixed app+pages builds (where `computeClientRuntimeMetadata` was asked for
|
|
36
|
+
* the Pages client entry); pure App Router leaves it undefined.
|
|
37
|
+
*/
|
|
38
|
+
declare function buildRuntimeGlobalsScript(input: {
|
|
39
|
+
clientEntryFile?: string | null;
|
|
40
|
+
ssrManifest?: Record<string, string[]> | null;
|
|
41
|
+
lazyChunks?: string[] | null;
|
|
42
|
+
dynamicPreloads?: Record<string, string[]> | null;
|
|
43
|
+
}): string;
|
|
44
|
+
//#endregion
|
|
45
|
+
export { buildRuntimeGlobalsScript, computeClientRuntimeMetadata };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { resolveAssetsDir } from "./asset-prefix.js";
|
|
2
|
+
import { manifestFileWithAssetPrefix, manifestFileWithBase } from "./manifest-paths.js";
|
|
3
|
+
import { findClientEntryFile, findPagesClientEntryFile, readClientBuildManifest } from "./client-build-manifest.js";
|
|
4
|
+
import { findClientEntryFileFromVinextManifest, findPagesClientEntryFileFromVinextManifest, readClientEntryManifest } from "./client-entry-manifest.js";
|
|
5
|
+
import { computeDynamicImportPreloads, computeLazyChunks, dynamicImportPreloadsWithBase } from "./lazy-chunks.js";
|
|
6
|
+
import path from "node:path";
|
|
7
|
+
//#region src/utils/client-runtime-metadata.ts
|
|
8
|
+
/**
|
|
9
|
+
* Read the client build manifest and compute runtime metadata used by
|
|
10
|
+
* Cloudflare worker entry injection and Node production server startup.
|
|
11
|
+
*
|
|
12
|
+
* - `lazyChunks` — chunks only reachable through dynamic `import()`, excluded
|
|
13
|
+
* from modulepreload hints.
|
|
14
|
+
* - `dynamicPreloads` — per-module JS/CSS files for rendered `next/dynamic()`
|
|
15
|
+
* boundaries, injected as preload links during SSR.
|
|
16
|
+
* - `clientEntryFile` — the client entry chunk filename (optional, only
|
|
17
|
+
* needed for Pages Router).
|
|
18
|
+
*
|
|
19
|
+
* All file paths are normalised with the configured `assetBase` (basePath)
|
|
20
|
+
* and `assetPrefix`.
|
|
21
|
+
*/
|
|
22
|
+
function computeClientRuntimeMetadata(opts) {
|
|
23
|
+
const buildManifest = readClientBuildManifest(path.join(opts.clientDir, ".vite", "manifest.json"));
|
|
24
|
+
const metadata = {};
|
|
25
|
+
if (opts.includeClientEntry) {
|
|
26
|
+
const clientEntryManifest = readClientEntryManifest(opts.clientDir);
|
|
27
|
+
const entryOptions = {
|
|
28
|
+
buildManifest,
|
|
29
|
+
clientDir: opts.clientDir,
|
|
30
|
+
assetsSubdir: resolveAssetsDir(opts.assetPrefix),
|
|
31
|
+
assetBase: opts.assetBase
|
|
32
|
+
};
|
|
33
|
+
const entry = opts.includeClientEntry === "pages-client-entry" ? findPagesClientEntryFileFromVinextManifest(clientEntryManifest, opts.assetBase) ?? findPagesClientEntryFile(entryOptions) : findClientEntryFileFromVinextManifest(clientEntryManifest, opts.assetBase) ?? findClientEntryFile(entryOptions);
|
|
34
|
+
if (entry) metadata.clientEntryFile = entry;
|
|
35
|
+
}
|
|
36
|
+
if (!buildManifest) return metadata;
|
|
37
|
+
const lazyChunks = computeLazyChunks(buildManifest).map((file) => manifestFileWithBase(file, opts.assetBase));
|
|
38
|
+
if (lazyChunks.length > 0) metadata.lazyChunks = lazyChunks;
|
|
39
|
+
const dynamicPreloads = dynamicImportPreloadsWithBase(computeDynamicImportPreloads(buildManifest), (file) => manifestFileWithAssetPrefix(file, opts.assetBase, opts.assetPrefix));
|
|
40
|
+
if (Object.keys(dynamicPreloads).length > 0) metadata.dynamicPreloads = dynamicPreloads;
|
|
41
|
+
return metadata;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Serialize runtime metadata into the `globalThis.__VINEXT_*` assignment script
|
|
45
|
+
* that the Cloudflare `closeBundle` hook prepends to the worker entry. Returns
|
|
46
|
+
* `""` when there is nothing to inject.
|
|
47
|
+
*
|
|
48
|
+
* Both the App Router and Pages Router closeBundle paths call this (and the
|
|
49
|
+
* deploy tests mirror it), so the injection shape stays in one place. The caller
|
|
50
|
+
* decides which fields to pass — e.g. App Router only forwards `clientEntryFile`
|
|
51
|
+
* for mixed app+pages builds (where `computeClientRuntimeMetadata` was asked for
|
|
52
|
+
* the Pages client entry); pure App Router leaves it undefined.
|
|
53
|
+
*/
|
|
54
|
+
function buildRuntimeGlobalsScript(input) {
|
|
55
|
+
const globals = [];
|
|
56
|
+
if (input.clientEntryFile) globals.push(`globalThis.__VINEXT_CLIENT_ENTRY__ = ${JSON.stringify(input.clientEntryFile)};`);
|
|
57
|
+
if (input.ssrManifest && Object.keys(input.ssrManifest).length > 0) globals.push(`globalThis.__VINEXT_SSR_MANIFEST__ = ${JSON.stringify(input.ssrManifest)};`);
|
|
58
|
+
if (input.lazyChunks && input.lazyChunks.length > 0) globals.push(`globalThis.__VINEXT_LAZY_CHUNKS__ = ${JSON.stringify(input.lazyChunks)};`);
|
|
59
|
+
if (input.dynamicPreloads && Object.keys(input.dynamicPreloads).length > 0) globals.push(`globalThis.__VINEXT_DYNAMIC_PRELOADS__ = ${JSON.stringify(input.dynamicPreloads)};`);
|
|
60
|
+
return globals.join("\n");
|
|
61
|
+
}
|
|
62
|
+
//#endregion
|
|
63
|
+
export { buildRuntimeGlobalsScript, computeClientRuntimeMetadata };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/utils/commonjs-loader.d.ts
|
|
2
|
+
declare function shouldRetryAsCommonJs(error: unknown, resolvedPath: string): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Load a `.js` file as CommonJS even when a surrounding `package.json`
|
|
5
|
+
* declares `"type": "module"`. Nested misclassified `.js` dependencies are
|
|
6
|
+
* compiled the same way, while Node keeps handling builtins, JSON, native
|
|
7
|
+
* addons, and correctly classified modules through its normal loader.
|
|
8
|
+
*/
|
|
9
|
+
declare function loadCommonJsModule(resolvedPath: string): unknown;
|
|
10
|
+
/**
|
|
11
|
+
* Import a module normally, retrying only `.js` files that fail because Node
|
|
12
|
+
* classified CommonJS source as ESM.
|
|
13
|
+
*/
|
|
14
|
+
declare function importExportWithCommonJsFallback(resolvedPath: string): Promise<unknown>;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { importExportWithCommonJsFallback, loadCommonJsModule, shouldRetryAsCommonJs };
|