vinext 1.0.0-beta.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +158 -84
- package/THIRD_PARTY_LICENSES.md +25 -0
- package/dist/_virtual/_rolldown/runtime.js +25 -0
- package/dist/build/action-owner-manifest.d.ts +8 -9
- package/dist/build/action-owner-manifest.js +23 -5
- package/dist/build/assets-ignore.d.ts +3 -4
- package/dist/build/clean-output.d.ts +2 -3
- package/dist/build/client-build-config.d.ts +40 -12
- package/dist/build/client-build-config.js +76 -6
- package/dist/build/css-url-assets.d.ts +4 -5
- package/dist/build/css-url-assets.js +5 -2
- package/dist/build/google-fonts/build-url.d.ts +3 -4
- package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
- package/dist/build/google-fonts/font-metadata.d.ts +2 -3
- package/dist/build/google-fonts/get-axes.d.ts +2 -3
- package/dist/build/google-fonts/sort-variants.d.ts +2 -3
- package/dist/build/google-fonts/validate.d.ts +2 -3
- package/dist/build/google-fonts/validate.js +8 -4
- package/dist/build/inject-pregenerated-paths.d.ts +2 -3
- package/dist/build/inject-pregenerated-paths.js +16 -14
- package/dist/build/inline-css.d.ts +3 -4
- package/dist/build/layout-classification-types.d.ts +4 -5
- package/dist/build/layout-classification.d.ts +7 -8
- package/dist/build/lifecycle.d.ts +42 -0
- package/dist/build/lifecycle.js +253 -0
- package/dist/build/module-dependency-cache.d.ts +2 -3
- package/dist/build/next-client-runtime-manifests.d.ts +4 -5
- package/dist/build/nitro-route-rules.d.ts +6 -7
- package/dist/build/nitro-route-rules.js +1 -1
- package/dist/build/pages-client-assets-module.d.ts +4 -8
- package/dist/build/pages-client-assets-module.js +1 -13
- package/dist/build/precompress.d.ts +2 -3
- package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
- package/dist/build/prerender-cloudflare-loader.js +49 -0
- package/dist/build/prerender-paths.d.ts +82 -8
- package/dist/build/prerender-paths.js +814 -99
- package/dist/build/prerender-phase.d.ts +2 -3
- package/dist/build/prerender-server-entry.js +11 -3
- package/dist/build/prerender-server-pool.d.ts +9 -6
- package/dist/build/prerender-server-pool.js +8 -5
- package/dist/build/prerender.d.ts +67 -15
- package/dist/build/prerender.js +177 -64
- package/dist/build/preview-credentials.d.ts +5 -6
- package/dist/build/preview-credentials.js +2 -2
- package/dist/build/public-dir-conflict.d.ts +5 -6
- package/dist/build/public-dir-conflict.js +2 -1
- package/dist/build/report.d.ts +38 -19
- package/dist/build/report.js +73 -4
- package/dist/build/route-classification-injector.d.ts +2 -3
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/run-prerender.d.ts +11 -9
- package/dist/build/run-prerender.js +25 -16
- package/dist/build/server-entry.d.ts +4 -0
- package/dist/build/server-entry.js +28 -0
- package/dist/build/server-manifest.d.ts +8 -3
- package/dist/build/server-manifest.js +14 -2
- package/dist/build/ssr-manifest.d.ts +5 -6
- package/dist/build/standalone.d.ts +2 -3
- package/dist/build/standalone.js +2 -2
- package/dist/build/static-export.d.ts +7 -8
- package/dist/cache/cache-adapters-virtual.d.ts +95 -9
- package/dist/cache/cache-adapters-virtual.js +58 -6
- package/dist/check.d.ts +11 -10
- package/dist/check.js +467 -176
- package/dist/cli-args.d.ts +7 -16
- package/dist/cli-args.js +2 -45
- package/dist/cli-dev-config.d.ts +10 -7
- package/dist/cli-dev-config.js +160 -3
- package/dist/cli.js +124 -435
- package/dist/client/app-nav-failure-handler.d.ts +6 -7
- package/dist/client/client-rewrite-matcher.d.ts +2 -3
- package/dist/client/client-rewrites.d.ts +4 -5
- package/dist/client/dev-error-overlay-store.d.ts +13 -14
- package/dist/client/dev-error-overlay.d.ts +15 -15
- package/dist/client/dev-error-overlay.js +8 -5
- package/dist/client/instrumentation-client-inject.d.ts +3 -4
- package/dist/client/instrumentation-client-state.d.ts +5 -6
- package/dist/client/instrumentation-client.d.ts +3 -4
- package/dist/client/navigation-runtime.d.ts +21 -17
- package/dist/client/navigation-runtime.js +2 -1
- package/dist/client/pages-router-link-navigation.d.ts +4 -5
- package/dist/client/react-instance.d.ts +2 -3
- package/dist/client/validate-module-path.d.ts +2 -3
- package/dist/client/vinext-next-data.d.ts +7 -8
- package/dist/client/window-next.d.ts +4 -5
- package/dist/config/config-matchers.d.ts +16 -16
- package/dist/config/config-matchers.js +10 -7
- package/dist/config/dotenv.d.ts +3 -4
- package/dist/config/dotenv.js +2 -1
- package/dist/config/next-config.d.ts +31 -27
- package/dist/config/next-config.js +163 -16
- package/dist/config/prerender.d.ts +20 -16
- package/dist/config/prerender.js +10 -4
- package/dist/config/request-context.d.ts +5 -6
- package/dist/config/server-external-packages.d.ts +14 -3
- package/dist/config/server-external-packages.js +37 -3
- package/dist/config/tsconfig-paths.d.ts +3 -4
- package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
- package/dist/entries/app-browser-entry.d.ts +5 -6
- package/dist/entries/app-browser-entry.js +3 -2
- package/dist/entries/app-rsc-entry.d.ts +12 -3
- package/dist/entries/app-rsc-entry.js +530 -55
- package/dist/entries/app-rsc-manifest.d.ts +4 -3
- package/dist/entries/app-rsc-manifest.js +27 -8
- package/dist/entries/app-ssr-entry.d.ts +2 -3
- package/dist/entries/app-ssr-entry.js +8 -1
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +17 -2
- package/dist/entries/pages-server-entry.d.ts +13 -3
- package/dist/entries/pages-server-entry.js +237 -33
- package/dist/entries/runtime-entry-module.d.ts +4 -5
- package/dist/image/image-adapters-virtual.d.ts +4 -5
- package/dist/index.d.ts +10 -11
- package/dist/index.js +832 -199
- package/dist/init-cloudflare.d.ts +27 -16
- package/dist/init-cloudflare.js +754 -113
- package/dist/init-platform.d.ts +26 -22
- package/dist/init-platform.js +85 -29
- package/dist/init.d.ts +19 -13
- package/dist/init.js +123 -41
- package/dist/plugins/action-owner-manifest.d.ts +3 -4
- package/dist/plugins/action-owner-manifest.js +10 -3
- package/dist/plugins/ast-scope.d.ts +10 -11
- package/dist/plugins/ast-scope.js +10 -22
- package/dist/plugins/ast-utils.d.ts +16 -29
- package/dist/plugins/ast-utils.js +27 -71
- package/dist/plugins/async-hooks-stub.d.ts +2 -3
- package/dist/plugins/client-reference-dedup.d.ts +4 -5
- package/dist/plugins/css-data-url.d.ts +2 -3
- package/dist/plugins/css-module-imports.d.ts +3 -4
- package/dist/plugins/css-module-imports.js +1 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
- package/dist/plugins/dynamic-preload-metadata.js +55 -154
- package/dist/plugins/environment.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.js +6 -10
- package/dist/plugins/fonts.d.ts +10 -11
- package/dist/plugins/fonts.js +4 -3
- package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
- package/dist/plugins/ignore-dynamic-requests.js +60 -89
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +31 -43
- package/dist/plugins/instrumentation-client.d.ts +3 -3
- package/dist/plugins/instrumentation-client.js +46 -10
- package/dist/plugins/middleware-export-validation.d.ts +3 -4
- package/dist/plugins/middleware-export-validation.js +3 -3
- package/dist/plugins/middleware-server-only.d.ts +2 -3
- package/dist/plugins/og-asset-ownership.d.ts +3 -4
- package/dist/plugins/og-assets.d.ts +4 -5
- package/dist/plugins/og-assets.js +32 -13
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +260 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +32 -44
- package/dist/plugins/pages-node-externals.d.ts +2 -3
- package/dist/plugins/pages-node-externals.js +6 -11
- package/dist/plugins/postcss.d.ts +8 -4
- package/dist/plugins/postcss.js +1 -1
- package/dist/plugins/remove-console.d.ts +2 -3
- package/dist/plugins/remove-console.js +0 -1
- package/dist/plugins/require-condition-resolution.d.ts +3 -4
- package/dist/plugins/require-condition-resolution.js +17 -18
- package/dist/plugins/require-context.d.ts +2 -3
- package/dist/plugins/require-context.js +13 -21
- package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
- package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
- package/dist/plugins/rsc-client-shim-excludes.js +1 -0
- package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
- package/dist/plugins/sass.d.ts +7 -8
- package/dist/plugins/sass.js +7 -4
- package/dist/plugins/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +5 -6
- package/dist/plugins/strip-server-exports.js +1 -1
- package/dist/plugins/styled-jsx.d.ts +2 -3
- package/dist/plugins/styled-jsx.js +7 -7
- package/dist/plugins/transform-cache.d.ts +2 -3
- package/dist/plugins/transform-result.d.ts +3 -4
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +6 -7
- package/dist/plugins/typeof-window.js +30 -31
- package/dist/plugins/use-cache-callable.d.ts +2 -5
- package/dist/plugins/use-cache-callable.js +43 -22
- package/dist/plugins/wasm-module-import.d.ts +2 -3
- package/dist/plugins/worker-image-imports.d.ts +2 -3
- package/dist/plugins/worker-image-imports.js +6 -8
- package/dist/routing/app-route-graph.d.ts +19 -19
- package/dist/routing/app-route-graph.js +3 -2
- package/dist/routing/app-router.d.ts +20 -5
- package/dist/routing/app-router.js +28 -2
- package/dist/routing/file-matcher.d.ts +9 -10
- package/dist/routing/pages-router.d.ts +6 -6
- package/dist/routing/pages-router.js +1 -1
- package/dist/routing/route-matching.d.ts +4 -5
- package/dist/routing/route-matching.js +4 -2
- package/dist/routing/route-pattern.d.ts +13 -14
- package/dist/routing/route-trie.d.ts +5 -6
- package/dist/routing/route-validation.d.ts +3 -4
- package/dist/routing/route-validation.js +12 -11
- package/dist/routing/utils.d.ts +13 -14
- package/dist/server/accept-encoding.d.ts +9 -10
- package/dist/server/api-handler.d.ts +2 -3
- package/dist/server/api-handler.js +9 -6
- package/dist/server/app-action-forwarding.d.ts +3 -4
- package/dist/server/app-action-forwarding.js +1 -1
- package/dist/server/app-action-request.d.ts +2 -3
- package/dist/server/app-bfcache-id.d.ts +3 -4
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- package/dist/server/app-browser-action-result.d.ts +15 -16
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
- package/dist/server/app-browser-entry.js +121 -40
- package/dist/server/app-browser-error.d.ts +5 -6
- package/dist/server/app-browser-error.js +9 -3
- package/dist/server/app-browser-history-controller.d.ts +4 -5
- package/dist/server/app-browser-hydration.d.ts +16 -6
- package/dist/server/app-browser-hydration.js +14 -1
- package/dist/server/app-browser-interception-context.d.ts +3 -4
- package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
- package/dist/server/app-browser-navigation-abort.d.ts +3 -4
- package/dist/server/app-browser-navigation-controller.d.ts +8 -8
- package/dist/server/app-browser-navigation-controller.js +9 -5
- package/dist/server/app-browser-navigation-response.d.ts +2 -3
- package/dist/server/app-browser-popstate.d.ts +4 -5
- package/dist/server/app-browser-prefetch-response.d.ts +5 -6
- package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
- package/dist/server/app-browser-server-action-client.d.ts +7 -6
- package/dist/server/app-browser-server-action-client.js +9 -5
- package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
- package/dist/server/app-browser-state.d.ts +17 -17
- package/dist/server/app-browser-state.js +7 -3
- package/dist/server/app-browser-stream.d.ts +4 -5
- package/dist/server/app-browser-stream.js +8 -6
- package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
- package/dist/server/app-browser-visible-commit.d.ts +6 -7
- package/dist/server/app-browser-visible-commit.js +1 -1
- package/dist/server/app-client-reference-preloader.d.ts +2 -3
- package/dist/server/app-elements-wire-key.d.ts +25 -0
- package/dist/server/app-elements-wire-key.js +69 -0
- package/dist/server/app-elements-wire.d.ts +34 -53
- package/dist/server/app-elements-wire.js +4 -75
- package/dist/server/app-elements.d.ts +5 -5
- package/dist/server/app-elements.js +1 -1
- package/dist/server/app-fallback-renderer.d.ts +4 -4
- package/dist/server/app-fallback-renderer.js +6 -6
- package/dist/server/app-fetch-tracing.d.ts +15 -0
- package/dist/server/app-fetch-tracing.js +38 -0
- package/dist/server/app-history-state.d.ts +26 -27
- package/dist/server/app-history-state.js +19 -11
- package/dist/server/app-hook-warning-suppression.d.ts +2 -3
- package/dist/server/app-hydration-cache-publication.d.ts +3 -4
- package/dist/server/app-inline-css-client.d.ts +3 -4
- package/dist/server/app-interception-context-header.d.ts +2 -3
- package/dist/server/app-layout-param-observation.d.ts +7 -8
- package/dist/server/app-metadata-tracing.d.ts +12 -0
- package/dist/server/app-metadata-tracing.js +17 -0
- package/dist/server/app-middleware.d.ts +15 -7
- package/dist/server/app-middleware.js +30 -5
- package/dist/server/app-mounted-slots-header.d.ts +2 -3
- package/dist/server/app-mounted-slots-header.js +2 -2
- package/dist/server/app-optimistic-routing.d.ts +14 -10
- package/dist/server/app-optimistic-routing.js +16 -3
- package/dist/server/app-page-boundary-render.d.ts +6 -6
- package/dist/server/app-page-boundary-render.js +10 -4
- package/dist/server/app-page-boundary.d.ts +9 -10
- package/dist/server/app-page-boundary.js +2 -1
- package/dist/server/app-page-cache-finalizer.d.ts +32 -8
- package/dist/server/app-page-cache-finalizer.js +118 -14
- package/dist/server/app-page-cache-render.d.ts +8 -5
- package/dist/server/app-page-cache-render.js +22 -5
- package/dist/server/app-page-cache.d.ts +28 -9
- package/dist/server/app-page-cache.js +96 -25
- package/dist/server/app-page-dispatch.d.ts +36 -12
- package/dist/server/app-page-dispatch.js +188 -63
- package/dist/server/app-page-element-builder.d.ts +13 -11
- package/dist/server/app-page-element-builder.js +104 -61
- package/dist/server/app-page-execution.d.ts +14 -14
- package/dist/server/app-page-execution.js +12 -8
- package/dist/server/app-page-head.d.ts +19 -16
- package/dist/server/app-page-head.js +25 -25
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
- package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
- package/dist/server/app-page-method.d.ts +5 -11
- package/dist/server/app-page-method.js +2 -9
- package/dist/server/app-page-params.d.ts +5 -6
- package/dist/server/app-page-ppr-runtime.d.ts +2 -2
- package/dist/server/app-page-probe.d.ts +5 -6
- package/dist/server/app-page-probe.js +5 -4
- package/dist/server/app-page-render-identity.d.ts +4 -5
- package/dist/server/app-page-render-observation.d.ts +8 -9
- package/dist/server/app-page-render-observation.js +1 -1
- package/dist/server/app-page-render.d.ts +42 -6
- package/dist/server/app-page-render.js +192 -28
- package/dist/server/app-page-request.d.ts +10 -9
- package/dist/server/app-page-request.js +16 -12
- package/dist/server/app-page-response.d.ts +20 -9
- package/dist/server/app-page-response.js +31 -13
- package/dist/server/app-page-route-wiring.d.ts +15 -15
- package/dist/server/app-page-route-wiring.js +31 -24
- package/dist/server/app-page-search-params-observation.d.ts +26 -5
- package/dist/server/app-page-search-params-observation.js +42 -6
- package/dist/server/app-page-segment-plan.d.ts +2 -3
- package/dist/server/app-page-segment-state.d.ts +11 -12
- package/dist/server/app-page-stream.d.ts +27 -11
- package/dist/server/app-page-stream.js +35 -6
- package/dist/server/app-page-tracing.d.ts +33 -0
- package/dist/server/app-page-tracing.js +49 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +19 -4
- package/dist/server/app-post-middleware-context.d.ts +2 -3
- package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
- package/dist/server/app-ppr-fallback-shell-render.js +3 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
- package/dist/server/app-prerender-endpoints.d.ts +5 -5
- package/dist/server/app-prerender-endpoints.js +26 -12
- package/dist/server/app-prerender-static-params.d.ts +15 -7
- package/dist/server/app-prerender-static-params.js +33 -11
- package/dist/server/app-render-dependency.d.ts +14 -13
- package/dist/server/app-render-dependency.js +5 -1
- package/dist/server/app-request-context.d.ts +3 -4
- package/dist/server/app-request-stage-context.d.ts +5 -0
- package/dist/server/app-request-stage-context.js +11 -0
- package/dist/server/app-request-stage-dispatch.d.ts +25 -0
- package/dist/server/app-request-stage-dispatch.js +54 -0
- package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
- package/dist/server/app-request-stage-independent-entry.js +115 -0
- package/dist/server/app-response-header-provenance.d.ts +13 -7
- package/dist/server/app-response-header-provenance.js +34 -1
- package/dist/server/app-response-stage-entry.d.ts +9 -0
- package/dist/server/app-response-stage-entry.js +87 -0
- package/dist/server/app-route-handler-cache.d.ts +2 -3
- package/dist/server/app-route-handler-cache.js +46 -34
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +75 -57
- package/dist/server/app-route-handler-execution.d.ts +18 -13
- package/dist/server/app-route-handler-execution.js +189 -25
- package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
- package/dist/server/app-route-handler-middleware-context.js +15 -0
- package/dist/server/app-route-handler-policy.d.ts +22 -10
- package/dist/server/app-route-handler-policy.js +19 -4
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +2 -0
- package/dist/server/app-route-handler-runtime.d.ts +9 -10
- package/dist/server/app-route-handler-runtime.js +20 -16
- package/dist/server/app-route-module-loader.d.ts +6 -7
- package/dist/server/app-route-request-built-ins.d.ts +3 -4
- package/dist/server/app-route-tree-prefetch.d.ts +6 -7
- package/dist/server/app-route-tree-prefetch.js +2 -1
- package/dist/server/app-router-entry.d.ts +2 -0
- package/dist/server/app-router-entry.js +76 -12
- package/dist/server/app-rsc-cache-busting.d.ts +47 -22
- package/dist/server/app-rsc-cache-busting.js +80 -18
- package/dist/server/app-rsc-combined-handler.d.ts +9 -0
- package/dist/server/app-rsc-combined-handler.js +11 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
- package/dist/server/app-rsc-error-handler.d.ts +12 -6
- package/dist/server/app-rsc-error-handler.js +15 -6
- package/dist/server/app-rsc-errors.d.ts +12 -9
- package/dist/server/app-rsc-errors.js +15 -13
- package/dist/server/app-rsc-handler.d.ts +33 -6
- package/dist/server/app-rsc-handler.js +498 -83
- package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
- package/dist/server/app-rsc-render-mode.d.ts +8 -9
- package/dist/server/app-rsc-request-normalization.d.ts +3 -3
- package/dist/server/app-rsc-request-normalization.js +2 -1
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +24 -7
- package/dist/server/app-rsc-response-stage.d.ts +6 -0
- package/dist/server/app-rsc-response-stage.js +251 -0
- package/dist/server/app-rsc-route-matching.d.ts +4 -4
- package/dist/server/app-rsc-route-matching.js +4 -2
- package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
- package/dist/server/app-rsc-vary.d.ts +16 -0
- package/dist/server/app-rsc-vary.js +31 -0
- package/dist/server/app-segment-config.d.ts +120 -6
- package/dist/server/app-segment-config.js +264 -12
- package/dist/server/app-server-action-execution.d.ts +16 -12
- package/dist/server/app-server-action-execution.js +88 -35
- package/dist/server/app-ssr-entry.d.ts +14 -4
- package/dist/server/app-ssr-entry.js +64 -17
- package/dist/server/app-ssr-error-meta.d.ts +3 -4
- package/dist/server/app-ssr-error-meta.js +2 -1
- package/dist/server/app-ssr-router-instance.d.ts +2 -3
- package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
- package/dist/server/app-ssr-search-params-gate.js +54 -0
- package/dist/server/app-ssr-stream.d.ts +13 -9
- package/dist/server/app-ssr-stream.js +33 -7
- package/dist/server/app-static-generation.d.ts +4 -5
- package/dist/server/app-visited-response-cache.d.ts +11 -12
- package/dist/server/app-visited-response-cache.js +2 -2
- package/dist/server/app-worker-stages.d.ts +112 -0
- package/dist/server/app-worker-stages.js +105 -0
- package/dist/server/artifact-compatibility.d.ts +11 -12
- package/dist/server/before-interactive-head.d.ts +2 -3
- package/dist/server/bfcache-identity.d.ts +7 -8
- package/dist/server/cache-control.d.ts +39 -11
- package/dist/server/cache-control.js +104 -7
- package/dist/server/cache-headers.d.ts +3 -4
- package/dist/server/cache-proof.d.ts +75 -70
- package/dist/server/cache-proof.js +9 -1
- package/dist/server/cacheability-limits.d.ts +8 -0
- package/dist/server/cacheability-limits.js +9 -0
- package/dist/server/cacheability-manifest.d.ts +68 -0
- package/dist/server/cacheability-manifest.js +241 -0
- package/dist/server/cacheability-request.d.ts +49 -0
- package/dist/server/cacheability-request.js +559 -0
- package/dist/server/client-reuse-manifest.d.ts +17 -18
- package/dist/server/client-reuse-manifest.js +2 -2
- package/dist/server/client-trace-metadata.d.ts +9 -6
- package/dist/server/client-trace-metadata.js +27 -15
- package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
- package/dist/server/cloudflare-workers-tracing.js +8 -0
- package/dist/server/config-headers.d.ts +19 -5
- package/dist/server/config-headers.js +39 -5
- package/dist/server/cookie-utils.d.ts +2 -3
- package/dist/server/csp.d.ts +5 -6
- package/dist/server/default-global-error-module.d.ts +2 -3
- package/dist/server/default-global-not-found-module.d.ts +2 -3
- package/dist/server/default-not-found-module.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.js +2 -1
- package/dist/server/dev-initial-server-error.d.ts +3 -4
- package/dist/server/dev-initial-server-error.js +2 -1
- package/dist/server/dev-lockfile.d.ts +7 -8
- package/dist/server/dev-lockfile.js +4 -1
- package/dist/server/dev-module-runner.d.ts +2 -3
- package/dist/server/dev-origin-check.d.ts +5 -6
- package/dist/server/dev-route-files.d.ts +2 -3
- package/dist/server/dev-server.d.ts +4 -5
- package/dist/server/dev-server.js +130 -61
- package/dist/server/dev-stack-sourcemap.d.ts +7 -7
- package/dist/server/dev-stack-sourcemap.js +1 -1
- package/dist/server/document-initial-head.d.ts +3 -4
- package/dist/server/edge-api-runtime.d.ts +4 -5
- package/dist/server/fetch-handler.d.ts +3 -2
- package/dist/server/fetch-handler.js +3 -18
- package/dist/server/file-based-metadata.d.ts +2 -3
- package/dist/server/framework-tracer.d.ts +46 -0
- package/dist/server/framework-tracer.js +125 -0
- package/dist/server/fully-buffered-response.d.ts +11 -0
- package/dist/server/fully-buffered-response.js +19 -0
- package/dist/server/headers.d.ts +62 -56
- package/dist/server/headers.js +33 -20
- package/dist/server/html.d.ts +6 -27
- package/dist/server/html.js +16 -1
- package/dist/server/http-conditional.d.ts +5 -6
- package/dist/server/http-date.d.ts +2 -3
- package/dist/server/http-error-responses.d.ts +9 -10
- package/dist/server/http-range.d.ts +4 -5
- package/dist/server/hybrid-route-priority.d.ts +4 -5
- package/dist/server/image-optimization.d.ts +20 -21
- package/dist/server/implicit-tags.d.ts +3 -4
- package/dist/server/instrumentation-runtime.d.ts +17 -21
- package/dist/server/instrumentation-runtime.js +26 -8
- package/dist/server/instrumentation.d.ts +26 -30
- package/dist/server/instrumentation.js +18 -23
- package/dist/server/isr-cache.d.ts +28 -27
- package/dist/server/isr-cache.js +18 -70
- package/dist/server/isr-decision.d.ts +4 -4
- package/dist/server/metadata-route-build-data.d.ts +4 -5
- package/dist/server/metadata-route-cache-policy.d.ts +2 -3
- package/dist/server/metadata-route-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +68 -2
- package/dist/server/metadata-routes.d.ts +18 -19
- package/dist/server/middleware-matcher-pattern.d.ts +6 -7
- package/dist/server/middleware-matcher.d.ts +13 -6
- package/dist/server/middleware-matcher.js +22 -1
- package/dist/server/middleware-path-to-regexp.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.js +11 -9
- package/dist/server/middleware-response-headers.d.ts +3 -4
- package/dist/server/middleware-runtime.d.ts +13 -8
- package/dist/server/middleware-runtime.js +54 -10
- package/dist/server/middleware.d.ts +5 -5
- package/dist/server/multi-stage.d.ts +141 -0
- package/dist/server/multi-stage.js +8 -0
- package/dist/server/navigation-planner.d.ts +26 -26
- package/dist/server/navigation-trace.d.ts +11 -12
- package/dist/server/next-error-digest.d.ts +4 -5
- package/dist/server/normalize-path.d.ts +5 -6
- package/dist/server/normalize-path.js +1 -1
- package/dist/server/open-redirect.d.ts +2 -3
- package/dist/server/opentelemetry-api.d.ts +59 -0
- package/dist/server/opentelemetry-api.js +53 -0
- package/dist/server/opentelemetry-tracing.d.ts +5 -0
- package/dist/server/opentelemetry-tracing.js +83 -0
- package/dist/server/operation-token.d.ts +11 -12
- package/dist/server/otel-tracer-extension.d.ts +7 -9
- package/dist/server/otel-tracer-extension.js +37 -36
- package/dist/server/pages-api-route.d.ts +5 -4
- package/dist/server/pages-api-route.js +21 -8
- package/dist/server/pages-asset-tags.d.ts +6 -6
- package/dist/server/pages-asset-tags.js +37 -2
- package/dist/server/pages-body-parser-config.d.ts +4 -5
- package/dist/server/pages-body-parser-config.js +4 -4
- package/dist/server/pages-client-assets.d.ts +11 -5
- package/dist/server/pages-data-route.d.ts +11 -12
- package/dist/server/pages-data-route.js +1 -1
- package/dist/server/pages-default-404.d.ts +3 -4
- package/dist/server/pages-dev-hydration.d.ts +9 -4
- package/dist/server/pages-dev-hydration.js +19 -7
- package/dist/server/pages-dev-module-url.d.ts +3 -4
- package/dist/server/pages-dev-stylesheets.d.ts +5 -6
- package/dist/server/pages-document-asset-props.d.ts +6 -7
- package/dist/server/pages-document-initial-props.d.ts +5 -5
- package/dist/server/pages-document-initial-props.js +4 -2
- package/dist/server/pages-execution-tracing.d.ts +40 -0
- package/dist/server/pages-execution-tracing.js +80 -0
- package/dist/server/pages-get-initial-props.d.ts +9 -10
- package/dist/server/pages-i18n.d.ts +8 -8
- package/dist/server/pages-i18n.js +3 -2
- package/dist/server/pages-media-type.d.ts +4 -5
- package/dist/server/pages-node-compat.d.ts +11 -10
- package/dist/server/pages-node-compat.js +12 -4
- package/dist/server/pages-page-data.d.ts +18 -19
- package/dist/server/pages-page-data.js +11 -10
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +98 -47
- package/dist/server/pages-page-method.d.ts +2 -3
- package/dist/server/pages-page-response.d.ts +14 -10
- package/dist/server/pages-page-response.js +49 -31
- package/dist/server/pages-preview.d.ts +10 -11
- package/dist/server/pages-readiness.d.ts +2 -3
- package/dist/server/pages-request-pipeline.d.ts +16 -12
- package/dist/server/pages-request-pipeline.js +69 -28
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +314 -0
- package/dist/server/pages-response-stage-entry.d.ts +11 -0
- package/dist/server/pages-response-stage-entry.js +106 -0
- package/dist/server/pages-response-stage.d.ts +31 -0
- package/dist/server/pages-response-stage.js +49 -0
- package/dist/server/pages-revalidate.d.ts +3 -4
- package/dist/server/pages-revalidate.js +9 -4
- package/dist/server/pages-route-data-kind.d.ts +18 -0
- package/dist/server/pages-route-data-kind.js +11 -0
- package/dist/server/pages-router-entry.d.ts +1 -25
- package/dist/server/pages-router-entry.js +48 -114
- package/dist/server/pages-serializable-props.d.ts +3 -4
- package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
- package/dist/server/pregenerated-concrete-paths.js +12 -6
- package/dist/server/prerender-cache-life-header.d.ts +3 -4
- package/dist/server/prerender-manifest.d.ts +11 -11
- package/dist/server/prerender-manifest.js +6 -3
- package/dist/server/prerender-route-params.d.ts +16 -9
- package/dist/server/prerender-route-params.js +18 -2
- package/dist/server/prerender-work-unit-setup.d.ts +4 -4
- package/dist/server/prerender-work-unit-setup.js +37 -14
- package/dist/server/prod-server.d.ts +12 -9
- package/dist/server/prod-server.js +129 -36
- package/dist/server/proxy-trust.d.ts +5 -6
- package/dist/server/request-log.d.ts +3 -4
- package/dist/server/request-pipeline.d.ts +17 -21
- package/dist/server/request-pipeline.js +8 -10
- package/dist/server/request-stage.d.ts +5 -0
- package/dist/server/request-stage.js +7 -0
- package/dist/server/request-tracing.d.ts +22 -0
- package/dist/server/request-tracing.js +180 -0
- package/dist/server/response-stage-cacheability.d.ts +37 -0
- package/dist/server/response-stage-cacheability.js +55 -0
- package/dist/server/response-stage-policy.d.ts +23 -0
- package/dist/server/response-stage-policy.js +89 -0
- package/dist/server/response-stage.d.ts +5 -0
- package/dist/server/response-stage.js +7 -0
- package/dist/server/response-start-tracing.d.ts +14 -0
- package/dist/server/response-start-tracing.js +80 -0
- package/dist/server/revalidation-host.d.ts +2 -3
- package/dist/server/revalidation-host.js +2 -1
- package/dist/server/revalidation-request.d.ts +8 -0
- package/dist/server/revalidation-request.js +37 -0
- package/dist/server/rsc-completion-metadata.d.ts +6 -7
- package/dist/server/rsc-stream-hints.d.ts +18 -7
- package/dist/server/rsc-stream-hints.js +70 -35
- package/dist/server/seed-cache.d.ts +2 -3
- package/dist/server/seed-cache.js +8 -7
- package/dist/server/server-action-not-found.d.ts +5 -6
- package/dist/server/server-globals.d.ts +2 -3
- package/dist/server/server-globals.js +13 -0
- package/dist/server/skip-cache-proof.d.ts +4 -4
- package/dist/server/socket-error-backstop.d.ts +5 -6
- package/dist/server/socket-error-backstop.js +1 -1
- package/dist/server/static-file-cache.d.ts +5 -6
- package/dist/server/static-file-cache.js +9 -7
- package/dist/server/static-file-signal.d.ts +16 -0
- package/dist/server/static-file-signal.js +82 -0
- package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
- package/dist/server/streaming-metadata.d.ts +2 -3
- package/dist/server/tracer.d.ts +5 -0
- package/dist/server/tracer.js +13 -0
- package/dist/server/worker-prerender-discovery.d.ts +18 -0
- package/dist/server/worker-prerender-discovery.js +55 -0
- package/dist/server/worker-revalidation-context.d.ts +2 -3
- package/dist/server/worker-revalidation-context.js +5 -5
- package/dist/server/worker-stages.d.ts +43 -0
- package/dist/server/worker-stages.js +25 -0
- package/dist/server/worker-utils.d.ts +5 -6
- package/dist/server/worker-utils.js +4 -4
- package/dist/server/workers-tracing.d.ts +17 -0
- package/dist/server/workers-tracing.js +27 -0
- package/dist/shims/amp.d.ts +3 -4
- package/dist/shims/app-router-scroll-state.d.ts +9 -10
- package/dist/shims/app-router-scroll.d.ts +4 -5
- package/dist/shims/app-router-scroll.js +2 -1
- package/dist/shims/app.d.ts +5 -6
- package/dist/shims/before-interactive-context.d.ts +5 -6
- package/dist/shims/cache-callable-runtime.d.ts +44 -4
- package/dist/shims/cache-callable-runtime.js +168 -8
- package/dist/shims/cache-for-request.d.ts +2 -3
- package/dist/shims/cache-handler.d.ts +33 -20
- package/dist/shims/cache-handler.js +61 -2
- package/dist/shims/cache-request-state.d.ts +28 -29
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +239 -121
- package/dist/shims/cache.d.ts +15 -15
- package/dist/shims/cache.js +25 -13
- package/dist/shims/cacheability-classification.d.ts +106 -0
- package/dist/shims/cacheability-classification.js +161 -0
- package/dist/shims/cdn-cache-state.d.ts +13 -0
- package/dist/shims/cdn-cache-state.js +23 -0
- package/dist/shims/cdn-cache.d.ts +76 -18
- package/dist/shims/cdn-cache.js +40 -39
- package/dist/shims/client-hook-error.d.ts +3 -4
- package/dist/shims/client-locale.d.ts +2 -3
- package/dist/shims/client-page-root.d.ts +24 -0
- package/dist/shims/client-page-root.js +121 -0
- package/dist/shims/compat-router.d.ts +2 -3
- package/dist/shims/config.d.ts +3 -4
- package/dist/shims/constants.d.ts +73 -74
- package/dist/shims/constants.js +1 -1
- package/dist/shims/default-not-found.d.ts +2 -3
- package/dist/shims/document.d.ts +9 -9
- package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
- package/dist/shims/dynamic-preload-chunks.js +17 -13
- package/dist/shims/dynamic.d.ts +3 -3
- package/dist/shims/error-boundary-navigation.d.ts +3 -4
- package/dist/shims/error-boundary.d.ts +17 -18
- package/dist/shims/error-boundary.js +17 -11
- package/dist/shims/error.d.ts +4 -4
- package/dist/shims/error.js +1 -1
- package/dist/shims/error.react-server.d.ts +3 -4
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +50 -20
- package/dist/shims/font-google-base.d.ts +9 -9
- package/dist/shims/font-google-base.js +2 -1
- package/dist/shims/font-local.d.ts +3 -3
- package/dist/shims/font-local.js +1 -1
- package/dist/shims/font-utils.d.ts +14 -15
- package/dist/shims/form.d.ts +2 -2
- package/dist/shims/form.js +10 -7
- package/dist/shims/hash-scroll.d.ts +5 -6
- package/dist/shims/head-state.d.ts +4 -5
- package/dist/shims/head.d.ts +16 -16
- package/dist/shims/head.js +5 -4
- package/dist/shims/headers.d.ts +68 -32
- package/dist/shims/headers.js +101 -10
- package/dist/shims/i18n-context.d.ts +5 -6
- package/dist/shims/i18n-state.d.ts +4 -5
- package/dist/shims/image-config.d.ts +5 -6
- package/dist/shims/image-config.js +2 -0
- package/dist/shims/image.d.ts +5 -5
- package/dist/shims/image.js +12 -8
- package/dist/shims/internal/als-registry.d.ts +4 -5
- package/dist/shims/internal/api-utils.d.ts +3 -4
- package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
- package/dist/shims/internal/app-page-props-cache-key.js +53 -1
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
- package/dist/shims/internal/app-prefetch-rsc-request.d.ts +13 -0
- package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
- package/dist/shims/internal/app-route-detection.d.ts +2 -2
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
- package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
- package/dist/shims/internal/app-router-context.d.ts +9 -10
- package/dist/shims/internal/cookie-serialize.d.ts +4 -5
- package/dist/shims/internal/format-url-object.d.ts +7 -0
- package/dist/shims/internal/format-url-object.js +53 -0
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
- package/dist/shims/internal/hybrid-client-route-owner-direct.js +29 -11
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
- package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
- package/dist/shims/internal/interpolate-as.d.ts +5 -6
- package/dist/shims/internal/interpolate-as.js +4 -2
- package/dist/shims/internal/link-status-registry.d.ts +5 -6
- package/dist/shims/internal/make-hanging-promise.d.ts +8 -3
- package/dist/shims/internal/make-hanging-promise.js +13 -2
- package/dist/shims/internal/navigation-untracked.d.ts +2 -3
- package/dist/shims/internal/normalize-router-href.d.ts +15 -0
- package/dist/shims/internal/normalize-router-href.js +41 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
- package/dist/shims/internal/pages-data-target.d.ts +8 -6
- package/dist/shims/internal/pages-data-target.js +32 -36
- package/dist/shims/internal/pages-data-url.d.ts +4 -5
- package/dist/shims/internal/pages-data-url.js +2 -1
- package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
- package/dist/shims/internal/pages-router-components.d.ts +3 -4
- package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
- package/dist/shims/internal/route-pattern-for-warning.js +3 -3
- package/dist/shims/internal/router-context.d.ts +2 -3
- package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
- package/dist/shims/internal/thenable-well-known-properties.js +33 -0
- package/dist/shims/internal/utils.d.ts +7 -8
- package/dist/shims/internal/work-unit-async-storage.d.ts +12 -11
- package/dist/shims/layout-segment-context.d.ts +3 -4
- package/dist/shims/link-prefetch.d.ts +9 -10
- package/dist/shims/link.d.ts +4 -4
- package/dist/shims/link.js +67 -116
- package/dist/shims/metadata.d.ts +15 -16
- package/dist/shims/metadata.js +40 -36
- package/dist/shims/navigation-context-accessors.d.ts +9 -0
- package/dist/shims/navigation-context-accessors.js +19 -0
- package/dist/shims/navigation-context-state.d.ts +27 -18
- package/dist/shims/navigation-errors.d.ts +18 -19
- package/dist/shims/navigation-state.d.ts +6 -7
- package/dist/shims/navigation.d.ts +80 -68
- package/dist/shims/navigation.js +45 -17
- package/dist/shims/navigation.react-server.d.ts +9 -9
- package/dist/shims/navigation.react-server.js +1 -1
- package/dist/shims/offline.d.ts +2 -3
- package/dist/shims/og.d.ts +2 -2
- package/dist/shims/pages-router-runtime.d.ts +4 -5
- package/dist/shims/ppr-fallback-shell.d.ts +13 -14
- package/dist/shims/readonly-url-search-params.d.ts +2 -3
- package/dist/shims/request-context.d.ts +7 -6
- package/dist/shims/root-params.d.ts +14 -15
- package/dist/shims/router-state.d.ts +5 -6
- package/dist/shims/router-state.js +1 -1
- package/dist/shims/router.d.ts +22 -21
- package/dist/shims/router.js +339 -164
- package/dist/shims/script-nonce-context.d.ts +8 -6
- package/dist/shims/script-nonce-context.js +15 -6
- package/dist/shims/script.d.ts +4 -4
- package/dist/shims/script.js +9 -7
- package/dist/shims/search-params-gate.d.ts +35 -0
- package/dist/shims/search-params-gate.js +32 -0
- package/dist/shims/server.d.ts +19 -51
- package/dist/shims/server.js +14 -28
- package/dist/shims/slot.d.ts +33 -15
- package/dist/shims/slot.js +41 -9
- package/dist/shims/streamed-icons.d.ts +3 -4
- package/dist/shims/thenable-params.d.ts +5 -7
- package/dist/shims/thenable-params.js +3 -24
- package/dist/shims/unified-request-context.d.ts +34 -31
- package/dist/shims/unified-request-context.js +34 -24
- package/dist/shims/unrecognized-action-error.d.ts +3 -4
- package/dist/shims/url-safety.d.ts +5 -6
- package/dist/shims/url-utils.d.ts +18 -12
- package/dist/shims/url-utils.js +10 -1
- package/dist/shims/use-merged-ref.d.ts +2 -3
- package/dist/shims/user-agent.d.ts +31 -0
- package/dist/shims/user-agent.js +16 -0
- package/dist/shims/web-vitals.d.ts +2 -2
- package/dist/typegen.d.ts +3 -4
- package/dist/utils/asset-prefix.d.ts +7 -8
- package/dist/utils/base-path.d.ts +5 -6
- package/dist/utils/built-asset-url.d.ts +2 -3
- package/dist/utils/built-asset-url.js +1 -1
- package/dist/utils/cache-control-metadata.d.ts +4 -5
- package/dist/utils/client-build-manifest.d.ts +6 -7
- package/dist/utils/client-build-manifest.js +2 -1
- package/dist/utils/client-entry-manifest.d.ts +6 -7
- package/dist/utils/client-runtime-metadata.d.ts +8 -3
- package/dist/utils/client-runtime-metadata.js +18 -1
- package/dist/utils/commonjs-loader.d.ts +4 -5
- package/dist/utils/compare.d.ts +2 -3
- package/dist/utils/deployment-id.d.ts +6 -7
- package/dist/utils/dev-error-recovery-event.d.ts +2 -3
- package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
- package/dist/utils/domain-locale.d.ts +7 -8
- package/dist/utils/encode-cache-tag.d.ts +3 -4
- package/dist/utils/error-cause.d.ts +2 -3
- package/dist/utils/external-url.d.ts +2 -3
- package/dist/utils/has-trailing-comma.d.ts +3 -4
- package/dist/utils/hash.d.ts +3 -4
- package/dist/utils/html-limited-bots.d.ts +3 -4
- package/dist/utils/lazy-chunks.d.ts +8 -9
- package/dist/utils/lazy-chunks.js +4 -4
- package/dist/utils/manifest-paths.d.ts +5 -6
- package/dist/utils/mdx-scan.d.ts +11 -4
- package/dist/utils/mdx-scan.js +27 -1
- package/dist/utils/middleware-request-headers.d.ts +7 -6
- package/dist/utils/middleware-request-headers.js +6 -1
- package/dist/utils/navigation-signal.d.ts +3 -3
- package/dist/utils/navigation-signal.js +16 -1
- package/dist/utils/number.d.ts +2 -3
- package/dist/utils/package-name.d.ts +3 -4
- package/dist/utils/parse-cookie.d.ts +4 -5
- package/dist/utils/path.d.ts +8 -9
- package/dist/utils/plugin-options.d.ts +2 -3
- package/dist/utils/precompressed-variant.d.ts +3 -4
- package/dist/utils/prerender-output-paths.d.ts +9 -10
- package/dist/utils/prerender-output-paths.js +16 -9
- package/dist/utils/project.d.ts +19 -30
- package/dist/utils/project.js +20 -29
- package/dist/utils/promise.d.ts +2 -3
- package/dist/utils/protocol-headers.d.ts +14 -15
- package/dist/utils/public-file-path.d.ts +2 -3
- package/dist/utils/public-routes.d.ts +2 -3
- package/dist/utils/query.d.ts +14 -9
- package/dist/utils/query.js +22 -1
- package/dist/utils/react-compiler-support.d.ts +6 -7
- package/dist/utils/react-version.d.ts +4 -3
- package/dist/utils/react-version.js +19 -1
- package/dist/utils/record.d.ts +2 -3
- package/dist/utils/redirect-digest.d.ts +3 -4
- package/dist/utils/regex-safety.d.ts +4 -5
- package/dist/utils/regex.d.ts +2 -3
- package/dist/utils/safe-json-file.d.ts +2 -3
- package/dist/utils/sorted-array.d.ts +2 -3
- package/dist/utils/text-stream.d.ts +3 -4
- package/dist/utils/vinext-root.d.ts +2 -3
- package/dist/utils/virtual-module.d.ts +3 -4
- package/dist/utils/vite-cli-invocation.d.ts +21 -0
- package/dist/utils/vite-cli-invocation.js +144 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +55 -6
package/dist/build/report.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ import { LayoutBuildClassification } from "./layout-classification-types.js";
|
|
|
3
3
|
import { Route } from "../routing/pages-router.js";
|
|
4
4
|
import { PrerenderResult } from "./prerender.js";
|
|
5
5
|
//#region src/build/report.d.ts
|
|
6
|
-
type RouteType = "static" | "isr" | "ssr" | "unknown" | "api";
|
|
7
|
-
type RouteRow = {
|
|
6
|
+
export type RouteType = "static" | "isr" | "ssr" | "unknown" | "api";
|
|
7
|
+
export type RouteRow = {
|
|
8
8
|
pattern: string;
|
|
9
9
|
type: RouteType;
|
|
10
10
|
/** Only set for `isr` routes. */
|
|
@@ -23,8 +23,8 @@ type StaticMiddlewareMatcherObject = {
|
|
|
23
23
|
has?: Array<Record<string, string>>;
|
|
24
24
|
missing?: Array<Record<string, string>>;
|
|
25
25
|
};
|
|
26
|
-
type StaticMiddlewareMatcher = string | Array<string | StaticMiddlewareMatcherObject>;
|
|
27
|
-
declare function getAppRouteRenderEntryPath(route: AppRouteRenderEntry): string | null;
|
|
26
|
+
export type StaticMiddlewareMatcher = string | Array<string | StaticMiddlewareMatcherObject>;
|
|
27
|
+
export declare function getAppRouteRenderEntryPath(route: AppRouteRenderEntry): string | null;
|
|
28
28
|
/**
|
|
29
29
|
* Returns true if the source code contains an export declaration with the given name.
|
|
30
30
|
* For re-export specifiers, this intentionally follows Next.js' static analyzer
|
|
@@ -34,23 +34,28 @@ declare function getAppRouteRenderEntryPath(route: AppRouteRenderEntry): string
|
|
|
34
34
|
* export const foo = ...
|
|
35
35
|
* export { foo }
|
|
36
36
|
*/
|
|
37
|
-
declare function hasNamedExport(code: string, name: string): boolean;
|
|
37
|
+
export declare function hasNamedExport(code: string, name: string): boolean;
|
|
38
38
|
/** Returns true when Next.js' analyzer recognizes the requested export name. */
|
|
39
|
-
declare function hasExportedName(code: string, name: string): boolean;
|
|
39
|
+
export declare function hasExportedName(code: string, name: string): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the module's runtime value exports include the given name. Type-only
|
|
42
|
+
* exports and re-export aliases under another name don't count.
|
|
43
|
+
*/
|
|
44
|
+
export declare function hasRuntimeExportedName(code: string, name: string): boolean;
|
|
40
45
|
/**
|
|
41
46
|
* Extracts the string value of `export const <name> = "value"`.
|
|
42
47
|
* Handles TypeScript annotations/assertions and no-substitution template literals.
|
|
43
48
|
* Returns null if the export is absent or not a string literal.
|
|
44
49
|
*/
|
|
45
|
-
declare function extractExportConstString(code: string, name: string): string | null;
|
|
46
|
-
declare function extractMiddlewareMatcherConfig(filePath: string): StaticMiddlewareMatcher | undefined;
|
|
50
|
+
export declare function extractExportConstString(code: string, name: string): string | null;
|
|
51
|
+
export declare function extractMiddlewareMatcherConfig(filePath: string): StaticMiddlewareMatcher | undefined;
|
|
47
52
|
/**
|
|
48
53
|
* Extract the statically analyzable `config.matcher` value without first
|
|
49
54
|
* narrowing it to vinext's runtime matcher type. Build validation needs the
|
|
50
55
|
* raw value so malformed matcher objects are rejected instead of disappearing
|
|
51
56
|
* as though no matcher had been configured.
|
|
52
57
|
*/
|
|
53
|
-
declare function extractMiddlewareMatcherConfigValue(filePath: string): unknown;
|
|
58
|
+
export declare function extractMiddlewareMatcherConfigValue(filePath: string): unknown;
|
|
54
59
|
/**
|
|
55
60
|
* Extracts the numeric value of `export const <name> = <number|false>`.
|
|
56
61
|
* Supports integers, decimals, negative values, `Infinity`, and `false`.
|
|
@@ -59,7 +64,7 @@ declare function extractMiddlewareMatcherConfigValue(filePath: string): unknown;
|
|
|
59
64
|
* Handles TypeScript annotations/assertions and JavaScript numeric separators.
|
|
60
65
|
* Returns null if the export is absent or not a number/`false`.
|
|
61
66
|
*/
|
|
62
|
-
declare function extractExportConstNumber(code: string, name: string): number | null;
|
|
67
|
+
export declare function extractExportConstNumber(code: string, name: string): number | null;
|
|
63
68
|
/**
|
|
64
69
|
* Extracts the `revalidate` value from inside a `getStaticProps` return object.
|
|
65
70
|
* Looks for: revalidate: <number> or revalidate: false or revalidate: Infinity
|
|
@@ -71,7 +76,7 @@ declare function extractExportConstNumber(code: string, name: string): number |
|
|
|
71
76
|
* Infinity — fully static (treated same as false by Next.js)
|
|
72
77
|
* null — no `revalidate` key found (fully static)
|
|
73
78
|
*/
|
|
74
|
-
declare function extractGetStaticPropsRevalidate(code: string): number | false | null;
|
|
79
|
+
export declare function extractGetStaticPropsRevalidate(code: string): number | false | null;
|
|
75
80
|
/**
|
|
76
81
|
* Classifies a layout file by its segment config exports (`dynamic`, `revalidate`).
|
|
77
82
|
*
|
|
@@ -84,14 +89,16 @@ declare function extractGetStaticPropsRevalidate(code: string): number | false |
|
|
|
84
89
|
* for layout skip decisions — ISR is a page-level concept. Only the extremes
|
|
85
90
|
* (`revalidate = 0` → dynamic, `revalidate = Infinity` → static) are decisive.
|
|
86
91
|
*/
|
|
87
|
-
declare function classifyLayoutSegmentConfig(code: string): LayoutBuildClassification;
|
|
92
|
+
export declare function classifyLayoutSegmentConfig(code: string): LayoutBuildClassification;
|
|
88
93
|
/**
|
|
89
94
|
* Classifies a Pages Router page file by reading its source and examining
|
|
90
95
|
* which data-fetching exports it contains.
|
|
91
96
|
*
|
|
92
97
|
* API routes (files under pages/api/) are always `api`.
|
|
93
98
|
*/
|
|
94
|
-
declare function classifyPagesRoute(filePath: string): {
|
|
99
|
+
export declare function classifyPagesRoute(filePath: string): {
|
|
100
|
+
hasStaticProps?: boolean;
|
|
101
|
+
hasServerSideProps?: boolean;
|
|
95
102
|
type: RouteType;
|
|
96
103
|
revalidate?: number;
|
|
97
104
|
};
|
|
@@ -102,10 +109,23 @@ declare function classifyPagesRoute(filePath: string): {
|
|
|
102
109
|
* @param routePath Absolute path to the route.ts handler (null for page routes)
|
|
103
110
|
* @param isDynamic Whether the URL pattern contains dynamic segments
|
|
104
111
|
*/
|
|
105
|
-
declare function classifyAppRoute(pagePath: string | null, routePath: string | null, isDynamic: boolean): {
|
|
112
|
+
export declare function classifyAppRoute(pagePath: string | null, routePath: string | null, isDynamic: boolean): {
|
|
106
113
|
type: RouteType;
|
|
107
114
|
revalidate?: number;
|
|
108
115
|
};
|
|
116
|
+
/**
|
|
117
|
+
* Return whether a Route Handler has a GET contract that Next.js considers
|
|
118
|
+
* eligible for static generation. This intentionally examines only the route
|
|
119
|
+
* module's direct segment config; request-time dynamic usage is decided by the
|
|
120
|
+
* staged Worker probe after the module has executed to completion.
|
|
121
|
+
*
|
|
122
|
+
* Ported from Next.js:
|
|
123
|
+
* packages/next/src/server/route-modules/app-route/helpers/is-static-gen-enabled.ts
|
|
124
|
+
*/
|
|
125
|
+
export declare function classifyAppRouteHandler(filePath: string): {
|
|
126
|
+
hasGet: boolean;
|
|
127
|
+
staticGenerationEnabled: boolean;
|
|
128
|
+
};
|
|
109
129
|
/**
|
|
110
130
|
* Builds a sorted list of RouteRow objects from the discovered routes.
|
|
111
131
|
* Routes are sorted alphabetically by path, matching filesystem order.
|
|
@@ -115,7 +135,7 @@ declare function classifyAppRoute(pagePath: string | null, routePath: string | n
|
|
|
115
135
|
* to `static` (confirmed by execution). The `prerendered` flag is set on those
|
|
116
136
|
* rows so the formatter can add a legend note.
|
|
117
137
|
*/
|
|
118
|
-
declare function buildReportRows(options: {
|
|
138
|
+
export declare function buildReportRows(options: {
|
|
119
139
|
pageRoutes?: Route[];
|
|
120
140
|
apiRoutes?: Route[];
|
|
121
141
|
appRoutes?: AppRoute[];
|
|
@@ -133,15 +153,14 @@ declare function buildReportRows(options: {
|
|
|
133
153
|
*
|
|
134
154
|
* ○ Static ◐ ISR ƒ Dynamic λ API
|
|
135
155
|
*/
|
|
136
|
-
declare function formatBuildReport(rows: RouteRow[], routerLabel?: string): string;
|
|
156
|
+
export declare function formatBuildReport(rows: RouteRow[], routerLabel?: string): string;
|
|
137
157
|
/**
|
|
138
158
|
* Scans the project at `root`, classifies all routes, and prints the
|
|
139
159
|
* Next.js-style build report to stdout.
|
|
140
160
|
*/
|
|
141
|
-
declare function printBuildReport(options: {
|
|
161
|
+
export declare function printBuildReport(options: {
|
|
142
162
|
root: string;
|
|
143
163
|
pageExtensions: string[];
|
|
144
164
|
prerenderResult?: PrerenderResult;
|
|
145
165
|
}): Promise<void>;
|
|
146
|
-
//#endregion
|
|
147
|
-
export { RouteRow, RouteType, StaticMiddlewareMatcher, buildReportRows, classifyAppRoute, classifyLayoutSegmentConfig, classifyPagesRoute, extractExportConstNumber, extractExportConstString, extractGetStaticPropsRevalidate, extractMiddlewareMatcherConfig, extractMiddlewareMatcherConfigValue, formatBuildReport, getAppRouteRenderEntryPath, hasExportedName, hasNamedExport, printBuildReport };
|
|
166
|
+
//#endregion
|
package/dist/build/report.js
CHANGED
|
@@ -4,7 +4,7 @@ import fs from "node:fs";
|
|
|
4
4
|
import { parseSync } from "vite";
|
|
5
5
|
//#region src/build/report.ts
|
|
6
6
|
/**
|
|
7
|
-
* Build report — prints a Next.js-style route table after `
|
|
7
|
+
* Build report — prints a Next.js-style route table after `vite build`.
|
|
8
8
|
*
|
|
9
9
|
* Classifies every discovered route as:
|
|
10
10
|
* ○ Static — confirmed static: force-static or revalidate=Infinity
|
|
@@ -89,6 +89,14 @@ function hasExportedName(code, name) {
|
|
|
89
89
|
}
|
|
90
90
|
return false;
|
|
91
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Whether the module's runtime value exports include the given name. Type-only
|
|
94
|
+
* exports and re-export aliases under another name don't count.
|
|
95
|
+
*/
|
|
96
|
+
function hasRuntimeExportedName(code, name) {
|
|
97
|
+
const program = parseRouteModule(code);
|
|
98
|
+
return program !== null && hasRuntimeExportedNameInProgram(program, name);
|
|
99
|
+
}
|
|
92
100
|
function hasNamedExportInProgram(program, name) {
|
|
93
101
|
for (const node of program.body) {
|
|
94
102
|
if (node.type !== "ExportNamedDeclaration") continue;
|
|
@@ -97,6 +105,20 @@ function hasNamedExportInProgram(program, name) {
|
|
|
97
105
|
}
|
|
98
106
|
return false;
|
|
99
107
|
}
|
|
108
|
+
function hasRuntimeExportedNameInProgram(program, name) {
|
|
109
|
+
for (const node of program.body) {
|
|
110
|
+
if (node.type !== "ExportNamedDeclaration" || node.exportKind === "type") continue;
|
|
111
|
+
if (declarationHasBindingName(node.declaration, name)) return true;
|
|
112
|
+
for (const specifier of node.specifiers) {
|
|
113
|
+
if (specifier.exportKind === "type") continue;
|
|
114
|
+
if (moduleExportNameValue(specifier.exported ?? specifier.local) === name) return true;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
function hasRuntimeExportAllInProgram(program) {
|
|
120
|
+
return program.body.some((node) => node.type === "ExportAllDeclaration" && node.exportKind !== "type");
|
|
121
|
+
}
|
|
100
122
|
function unwrapStaticExpression(expression) {
|
|
101
123
|
let current = expression;
|
|
102
124
|
while (current.type === "ParenthesizedExpression" || current.type === "TSAsExpression" || current.type === "TSSatisfiesExpression" || current.type === "TSTypeAssertion" || current.type === "TSNonNullExpression") current = current.expression;
|
|
@@ -434,12 +456,19 @@ function classifyPagesRoute(filePath) {
|
|
|
434
456
|
return { type: "unknown" };
|
|
435
457
|
}
|
|
436
458
|
const program = parseRouteModule(code);
|
|
437
|
-
if (program && hasNamedExportInProgram(program, "getServerSideProps")) return {
|
|
459
|
+
if (program && hasNamedExportInProgram(program, "getServerSideProps")) return {
|
|
460
|
+
hasServerSideProps: true,
|
|
461
|
+
type: "ssr"
|
|
462
|
+
};
|
|
438
463
|
if (program && hasNamedExportInProgram(program, "getStaticProps")) {
|
|
439
464
|
const revalidate = extractGetStaticPropsRevalidateFromProgram(program, code);
|
|
440
|
-
if (revalidate === null || revalidate === false || revalidate === Infinity) return {
|
|
465
|
+
if (revalidate === null || revalidate === false || revalidate === Infinity) return {
|
|
466
|
+
hasStaticProps: true,
|
|
467
|
+
type: "static"
|
|
468
|
+
};
|
|
441
469
|
if (revalidate === 0) return { type: "ssr" };
|
|
442
470
|
return {
|
|
471
|
+
hasStaticProps: true,
|
|
443
472
|
type: "isr",
|
|
444
473
|
revalidate
|
|
445
474
|
};
|
|
@@ -480,6 +509,46 @@ function classifyAppRoute(pagePath, routePath, isDynamic) {
|
|
|
480
509
|
return { type: "unknown" };
|
|
481
510
|
}
|
|
482
511
|
/**
|
|
512
|
+
* Return whether a Route Handler has a GET contract that Next.js considers
|
|
513
|
+
* eligible for static generation. This intentionally examines only the route
|
|
514
|
+
* module's direct segment config; request-time dynamic usage is decided by the
|
|
515
|
+
* staged Worker probe after the module has executed to completion.
|
|
516
|
+
*
|
|
517
|
+
* Ported from Next.js:
|
|
518
|
+
* packages/next/src/server/route-modules/app-route/helpers/is-static-gen-enabled.ts
|
|
519
|
+
*/
|
|
520
|
+
function classifyAppRouteHandler(filePath) {
|
|
521
|
+
let code;
|
|
522
|
+
try {
|
|
523
|
+
code = fs.readFileSync(filePath, "utf8");
|
|
524
|
+
} catch {
|
|
525
|
+
return {
|
|
526
|
+
hasGet: false,
|
|
527
|
+
staticGenerationEnabled: false
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
const program = parseRouteModule(code);
|
|
531
|
+
if (!program) return {
|
|
532
|
+
hasGet: false,
|
|
533
|
+
staticGenerationEnabled: false
|
|
534
|
+
};
|
|
535
|
+
const dynamicValue = extractExportConstStringFromProgram(program, "dynamic");
|
|
536
|
+
const revalidateValue = extractExportConstNumberFromProgram(program, "revalidate");
|
|
537
|
+
const hasGet = hasRuntimeExportedNameInProgram(program, "GET");
|
|
538
|
+
const hasNonStaticMethod = [
|
|
539
|
+
"POST",
|
|
540
|
+
"PUT",
|
|
541
|
+
"DELETE",
|
|
542
|
+
"PATCH",
|
|
543
|
+
"OPTIONS"
|
|
544
|
+
].some((method) => hasRuntimeExportedNameInProgram(program, method));
|
|
545
|
+
const hasUnknownRuntimeExports = hasRuntimeExportAllInProgram(program);
|
|
546
|
+
return {
|
|
547
|
+
hasGet,
|
|
548
|
+
staticGenerationEnabled: !hasNonStaticMethod && !hasUnknownRuntimeExports && (dynamicValue === "force-static" || dynamicValue === "error" || revalidateValue === Infinity || revalidateValue !== null && revalidateValue > 0 || hasRuntimeExportedNameInProgram(program, "generateStaticParams"))
|
|
549
|
+
};
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
483
552
|
* Builds a sorted list of RouteRow objects from the discovered routes.
|
|
484
553
|
* Routes are sorted alphabetically by path, matching filesystem order.
|
|
485
554
|
*
|
|
@@ -606,4 +675,4 @@ async function printBuildReport(options) {
|
|
|
606
675
|
}
|
|
607
676
|
}
|
|
608
677
|
//#endregion
|
|
609
|
-
export { buildReportRows, classifyAppRoute, classifyLayoutSegmentConfig, classifyPagesRoute, extractExportConstNumber, extractExportConstString, extractGetStaticPropsRevalidate, extractMiddlewareMatcherConfig, extractMiddlewareMatcherConfigValue, formatBuildReport, getAppRouteRenderEntryPath, hasExportedName, hasNamedExport, printBuildReport };
|
|
678
|
+
export { buildReportRows, classifyAppRoute, classifyAppRouteHandler, classifyLayoutSegmentConfig, classifyPagesRoute, extractExportConstNumber, extractExportConstString, extractGetStaticPropsRevalidate, extractMiddlewareMatcherConfig, extractMiddlewareMatcherConfigValue, formatBuildReport, getAppRouteRenderEntryPath, hasExportedName, hasNamedExport, hasRuntimeExportedName, printBuildReport };
|
|
@@ -28,6 +28,5 @@ type PlanRouteClassificationInjectionOptions = {
|
|
|
28
28
|
manifest: RouteClassificationManifest;
|
|
29
29
|
moduleInfo: ModuleInfoProvider;
|
|
30
30
|
};
|
|
31
|
-
declare function planRouteClassificationInjection(options: PlanRouteClassificationInjectionOptions): RouteClassificationInjectionPlan;
|
|
32
|
-
//#endregion
|
|
33
|
-
export { planRouteClassificationInjection };
|
|
31
|
+
export declare function planRouteClassificationInjection(options: PlanRouteClassificationInjectionOptions): RouteClassificationInjectionPlan;
|
|
32
|
+
//#endregion
|
|
@@ -16,7 +16,7 @@ type RouteManifestEntry = {
|
|
|
16
16
|
*/
|
|
17
17
|
layer1Reasons: Map<number, ClassificationReason>;
|
|
18
18
|
};
|
|
19
|
-
type RouteClassificationManifest = {
|
|
19
|
+
export type RouteClassificationManifest = {
|
|
20
20
|
routes: RouteManifestEntry[];
|
|
21
21
|
};
|
|
22
22
|
/**
|
|
@@ -25,7 +25,7 @@ type RouteClassificationManifest = {
|
|
|
25
25
|
* layout means the routing scan and the filesystem have drifted, and shipping
|
|
26
26
|
* a build in that state would silently break layout rendering.
|
|
27
27
|
*/
|
|
28
|
-
declare function collectRouteClassificationManifest(routes: readonly AppRoute[]): RouteClassificationManifest;
|
|
28
|
+
export declare function collectRouteClassificationManifest(routes: readonly AppRoute[]): RouteClassificationManifest;
|
|
29
29
|
/**
|
|
30
30
|
* Builds a JavaScript arrow-function expression that dispatches route index
|
|
31
31
|
* to a pre-computed `Map<layoutIndex, "static" | "dynamic">` of build-time
|
|
@@ -36,7 +36,7 @@ declare function collectRouteClassificationManifest(routes: readonly AppRoute[])
|
|
|
36
36
|
* module-graph classifier can only prove static, so "needs-probe" results
|
|
37
37
|
* are omitted by the caller before this map is constructed.
|
|
38
38
|
*/
|
|
39
|
-
declare function buildClassificationReplacement(manifest: RouteClassificationManifest, layer2PerRoute: ReadonlyMap<number, ReadonlyMap<number, ModuleGraphStaticReason>>): string;
|
|
39
|
+
export declare function buildClassificationReplacement(manifest: RouteClassificationManifest, layer2PerRoute: ReadonlyMap<number, ReadonlyMap<number, ModuleGraphStaticReason>>): string;
|
|
40
40
|
/**
|
|
41
41
|
* Sibling of `buildClassificationReplacement`: emits a dispatch function
|
|
42
42
|
* that returns `Map<layoutIndex, ClassificationReason>` per route.
|
|
@@ -49,6 +49,5 @@ declare function buildClassificationReplacement(manifest: RouteClassificationMan
|
|
|
49
49
|
* a segment-config reason must override a module-graph reason for the same
|
|
50
50
|
* layout index.
|
|
51
51
|
*/
|
|
52
|
-
declare function buildReasonsReplacement(manifest: RouteClassificationManifest, layer2PerRoute: ReadonlyMap<number, ReadonlyMap<number, ModuleGraphStaticReason>>): string;
|
|
53
|
-
//#endregion
|
|
54
|
-
export { RouteClassificationManifest, buildClassificationReplacement, buildReasonsReplacement, collectRouteClassificationManifest };
|
|
52
|
+
export declare function buildReasonsReplacement(manifest: RouteClassificationManifest, layer2PerRoute: ReadonlyMap<number, ReadonlyMap<number, ModuleGraphStaticReason>>): string;
|
|
53
|
+
//#endregion
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { VinextRouteRootConfig } from "../config/prerender.js";
|
|
1
2
|
import { ResolvedNextConfig } from "../config/next-config.js";
|
|
2
3
|
import { PrerenderResult, PrerenderRouteResult } from "./prerender.js";
|
|
3
4
|
//#region src/build/run-prerender.d.ts
|
|
@@ -14,10 +15,13 @@ type RunPrerenderOptions = {
|
|
|
14
15
|
pagesBundlePath?: string;
|
|
15
16
|
/**
|
|
16
17
|
* Override the path to the App Router RSC bundle.
|
|
17
|
-
* Defaults to
|
|
18
|
+
* Defaults to the App handler recorded in the server build manifest, or
|
|
19
|
+
* `<root>/dist/server/index.js` for builds without a manifest.
|
|
18
20
|
* Intended for tests that build to a custom outDir.
|
|
19
21
|
*/
|
|
20
22
|
rscBundlePath?: string;
|
|
23
|
+
/** Build output roots captured from the vinext Vite plugin. */
|
|
24
|
+
routeRootConfig?: VinextRouteRootConfig | null;
|
|
21
25
|
/**
|
|
22
26
|
* Maximum number of routes rendered in parallel.
|
|
23
27
|
* Defaults to prerenderApp/prerenderPages internal defaults when omitted.
|
|
@@ -33,16 +37,15 @@ type RunPrerenderOptions = {
|
|
|
33
37
|
* to stderr/stdout. Returns the full PrerenderResult so callers can pass it to
|
|
34
38
|
* printBuildReport.
|
|
35
39
|
*
|
|
36
|
-
* Works for both plain Node and
|
|
37
|
-
*
|
|
38
|
-
* so no wrangler/miniflare is needed.
|
|
40
|
+
* Works for both plain Node and hosted builds by resolving the generated App
|
|
41
|
+
* handler independently of any deployment facade that owns `index.js`.
|
|
39
42
|
*
|
|
40
43
|
* Hybrid projects (both `app/` and `pages/` present) run both prerender
|
|
41
44
|
* phases sharing a single prod server instance. The merged results are written
|
|
42
45
|
* to a single `dist/server/vinext-prerender.json`.
|
|
43
46
|
*
|
|
44
47
|
* If a required production bundle does not exist, an error is thrown directing
|
|
45
|
-
* the user to run `
|
|
48
|
+
* the user to run `vite build` first.
|
|
46
49
|
*/
|
|
47
50
|
/**
|
|
48
51
|
* Throw if any route is a `fatal` error (a thrown generateStaticParams /
|
|
@@ -51,10 +54,9 @@ type RunPrerenderOptions = {
|
|
|
51
54
|
* non-fatal errors (e.g. transport failures), which only fail under
|
|
52
55
|
* `output: 'export'`. Exported for direct unit testing. Refs cloudflare/vinext#1982
|
|
53
56
|
*/
|
|
54
|
-
declare function assertNoFatalPrerenderRoutes(routes: readonly PrerenderRouteResult[]): void;
|
|
57
|
+
export declare function assertNoFatalPrerenderRoutes(routes: readonly PrerenderRouteResult[]): void;
|
|
55
58
|
/**
|
|
56
59
|
* Statically generate routes and return the prerender result.
|
|
57
60
|
*/
|
|
58
|
-
declare function runPrerender(options: RunPrerenderOptions): Promise<PrerenderResult | null>;
|
|
59
|
-
//#endregion
|
|
60
|
-
export { assertNoFatalPrerenderRoutes, runPrerender };
|
|
61
|
+
export declare function runPrerender(options: RunPrerenderOptions): Promise<PrerenderResult | null>;
|
|
62
|
+
//#endregion
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
2
|
import { findDir } from "../utils/project.js";
|
|
3
|
-
import { apiRouter, pagesRouter } from "../routing/pages-router.js";
|
|
4
|
-
import { appRouter } from "../routing/app-router.js";
|
|
5
|
-
import { scanMetadataFiles } from "../server/metadata-routes.js";
|
|
6
3
|
import { PHASE_PRODUCTION_BUILD } from "../shims/constants.js";
|
|
7
4
|
import { loadNextConfig, resolveNextConfig } from "../config/next-config.js";
|
|
5
|
+
import { appRouter } from "../routing/app-router.js";
|
|
6
|
+
import { apiRouter, pagesRouter } from "../routing/pages-router.js";
|
|
7
|
+
import { scanMetadataFiles } from "../server/metadata-routes.js";
|
|
8
8
|
import { readPrerenderSecret } from "./server-manifest.js";
|
|
9
|
+
import { registerPrerenderCloudflareLoader } from "./prerender-cloudflare-loader.js";
|
|
9
10
|
import { rememberCurrentServerEntryImportMtime, startProdServer } from "../server/prod-server.js";
|
|
10
11
|
import { enterPrerenderPhase } from "./prerender-phase.js";
|
|
11
12
|
import { prerenderApp, prerenderPages, writePrerenderIndex } from "./prerender.js";
|
|
12
13
|
import { injectPregeneratedConcretePaths } from "./inject-pregenerated-paths.js";
|
|
14
|
+
import { resolveBuiltRscEntryPath } from "./server-entry.js";
|
|
13
15
|
import fs from "node:fs";
|
|
14
16
|
//#region src/build/run-prerender.ts
|
|
15
17
|
/**
|
|
16
|
-
* Shared prerender runner used by both `
|
|
18
|
+
* Shared prerender runner used by both `vite build` (cli.ts) and
|
|
17
19
|
* `vinext-cloudflare deploy --prerender-all` (deploy.ts).
|
|
18
20
|
*
|
|
19
21
|
* `runPrerender` handles route scanning, dynamic imports, progress reporting,
|
|
@@ -74,16 +76,15 @@ function readBuiltBuildId(serverDir) {
|
|
|
74
76
|
* to stderr/stdout. Returns the full PrerenderResult so callers can pass it to
|
|
75
77
|
* printBuildReport.
|
|
76
78
|
*
|
|
77
|
-
* Works for both plain Node and
|
|
78
|
-
*
|
|
79
|
-
* so no wrangler/miniflare is needed.
|
|
79
|
+
* Works for both plain Node and hosted builds by resolving the generated App
|
|
80
|
+
* handler independently of any deployment facade that owns `index.js`.
|
|
80
81
|
*
|
|
81
82
|
* Hybrid projects (both `app/` and `pages/` present) run both prerender
|
|
82
83
|
* phases sharing a single prod server instance. The merged results are written
|
|
83
84
|
* to a single `dist/server/vinext-prerender.json`.
|
|
84
85
|
*
|
|
85
86
|
* If a required production bundle does not exist, an error is thrown directing
|
|
86
|
-
* the user to run `
|
|
87
|
+
* the user to run `vite build` first.
|
|
87
88
|
*/
|
|
88
89
|
/**
|
|
89
90
|
* Throw if any route is a `fatal` error (a thrown generateStaticParams /
|
|
@@ -106,11 +107,15 @@ async function runPrerender(options) {
|
|
|
106
107
|
const appDir = findDir(root, "app", "src/app");
|
|
107
108
|
const pagesDir = findDir(root, "pages", "src/pages");
|
|
108
109
|
if (!appDir && !pagesDir) return null;
|
|
109
|
-
|
|
110
|
-
const
|
|
111
|
-
const
|
|
110
|
+
registerPrerenderCloudflareLoader();
|
|
111
|
+
const manifestDir = path.resolve(root, "dist", "server");
|
|
112
|
+
const buildOutDir = path.resolve(root, "dist");
|
|
113
|
+
const configuredRscServerDir = path.resolve(root, options.routeRootConfig?.rscOutDir ?? path.join("dist", "server"));
|
|
114
|
+
const rscBundlePath = options.rscBundlePath ?? resolveBuiltRscEntryPath(configuredRscServerDir);
|
|
115
|
+
const relativeEntryPath = path.relative(configuredRscServerDir, rscBundlePath);
|
|
116
|
+
const serverDir = !relativeEntryPath.startsWith("../") && !path.isAbsolute(relativeEntryPath) ? configuredRscServerDir : path.dirname(rscBundlePath);
|
|
112
117
|
const config = options.nextConfig ? { ...options.nextConfig } : { ...await resolveNextConfig(await loadNextConfig(root, PHASE_PRODUCTION_BUILD), root) };
|
|
113
|
-
const builtBuildId = readBuiltBuildId(serverDir);
|
|
118
|
+
const builtBuildId = readBuiltBuildId(manifestDir) ?? readBuiltBuildId(serverDir);
|
|
114
119
|
if (builtBuildId) config.buildId = builtBuildId;
|
|
115
120
|
const mode = config.output === "export" ? "export" : "default";
|
|
116
121
|
const allRoutes = [];
|
|
@@ -118,7 +123,7 @@ async function runPrerender(options) {
|
|
|
118
123
|
let totalUrls = 0;
|
|
119
124
|
let completedUrls = 0;
|
|
120
125
|
const progress = new PrerenderProgress();
|
|
121
|
-
const outDir = mode === "export" ? path.join(root, "dist", "client") : path.join(
|
|
126
|
+
const outDir = mode === "export" ? path.join(root, "dist", "client") : path.join(manifestDir, "prerendered-routes");
|
|
122
127
|
let sharedProdServer = null;
|
|
123
128
|
let sharedPrerenderSecret;
|
|
124
129
|
const restorePrerenderPhase = enterPrerenderPhase();
|
|
@@ -127,7 +132,9 @@ async function runPrerender(options) {
|
|
|
127
132
|
sharedProdServer = await startProdServer({
|
|
128
133
|
port: 0,
|
|
129
134
|
host: "127.0.0.1",
|
|
130
|
-
outDir:
|
|
135
|
+
outDir: buildOutDir,
|
|
136
|
+
rscEntryPath: rscBundlePath,
|
|
137
|
+
serverDir,
|
|
131
138
|
noCompression: true,
|
|
132
139
|
purpose: "prerender"
|
|
133
140
|
});
|
|
@@ -146,6 +153,8 @@ async function runPrerender(options) {
|
|
|
146
153
|
config,
|
|
147
154
|
concurrency: options.concurrency,
|
|
148
155
|
rscBundlePath,
|
|
156
|
+
serverDir,
|
|
157
|
+
buildOutDir,
|
|
149
158
|
...sharedProdServer ? { _prodServer: sharedProdServer } : {},
|
|
150
159
|
onProgress: ({ total, route }) => {
|
|
151
160
|
if (appTotal === 0) {
|
|
@@ -174,7 +183,7 @@ async function runPrerender(options) {
|
|
|
174
183
|
...sharedProdServer ? {
|
|
175
184
|
_prodServer: sharedProdServer,
|
|
176
185
|
_prerenderSecret: sharedPrerenderSecret
|
|
177
|
-
} : { pagesBundlePath: options.pagesBundlePath ?? path.join(
|
|
186
|
+
} : { pagesBundlePath: options.pagesBundlePath ?? path.join(manifestDir, "entry.js") },
|
|
178
187
|
onProgress: ({ total, route }) => {
|
|
179
188
|
if (pagesTotal === 0) {
|
|
180
189
|
pagesTotal = total;
|
|
@@ -218,7 +227,7 @@ async function runPrerender(options) {
|
|
|
218
227
|
const errorRoutes = allRoutes.filter((r) => r.status === "error").map((r) => ` ${r.route}: ${r.error}`).join("\n");
|
|
219
228
|
throw new Error(`Static export failed: ${errors} route${errors !== 1 ? "s" : ""} cannot be statically exported.\n${errorRoutes}\n\nRemove server-side data fetching (getServerSideProps, force-dynamic, revalidate) from these routes, or remove \`output: "export"\` from next.config.js.`);
|
|
220
229
|
}
|
|
221
|
-
injectPregeneratedConcretePaths(root);
|
|
230
|
+
injectPregeneratedConcretePaths(root, rscBundlePath, manifestDir, [configuredRscServerDir]);
|
|
222
231
|
if (fs.existsSync(rscBundlePath)) rememberCurrentServerEntryImportMtime(rscBundlePath);
|
|
223
232
|
return {
|
|
224
233
|
routes: allRoutes,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
//#region src/build/server-entry.ts
|
|
4
|
+
const RSC_ENTRY_MANIFEST_KEY = "virtual:vinext-rsc-entry";
|
|
5
|
+
/** Resolve the built App handler even when a deployment host owns index.js. */
|
|
6
|
+
function resolveBuiltRscEntryPath(serverDir) {
|
|
7
|
+
const fallbackPath = path.join(serverDir, "index.js");
|
|
8
|
+
const manifestPath = path.join(serverDir, ".vite", "manifest.json");
|
|
9
|
+
let manifest;
|
|
10
|
+
try {
|
|
11
|
+
manifest = JSON.parse(fs.readFileSync(manifestPath, "utf-8"));
|
|
12
|
+
} catch (error) {
|
|
13
|
+
if (error && typeof error === "object" && "code" in error && error.code === "ENOENT") return fallbackPath;
|
|
14
|
+
if (error instanceof SyntaxError) return fallbackPath;
|
|
15
|
+
throw error;
|
|
16
|
+
}
|
|
17
|
+
if (!manifest || typeof manifest !== "object" || Array.isArray(manifest)) return fallbackPath;
|
|
18
|
+
const entry = Reflect.get(manifest, RSC_ENTRY_MANIFEST_KEY);
|
|
19
|
+
if (!entry || typeof entry !== "object") return fallbackPath;
|
|
20
|
+
const file = Reflect.get(entry, "file");
|
|
21
|
+
if (typeof file !== "string") return fallbackPath;
|
|
22
|
+
const entryPath = path.resolve(serverDir, file);
|
|
23
|
+
const relativePath = path.relative(serverDir, entryPath);
|
|
24
|
+
if (relativePath.startsWith("../") || path.isAbsolute(relativePath)) return fallbackPath;
|
|
25
|
+
return fs.existsSync(entryPath) ? entryPath : fallbackPath;
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { resolveBuiltRscEntryPath };
|
|
@@ -13,6 +13,11 @@
|
|
|
13
13
|
* Callers that require a secret (i.e. the prerender phase itself) should
|
|
14
14
|
* warn when this returns `undefined`.
|
|
15
15
|
*/
|
|
16
|
-
declare function readPrerenderSecret(serverDir: string): string | undefined;
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
export declare function readPrerenderSecret(serverDir: string): string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Read every server output root that contains a deployable response-stage
|
|
19
|
+
* graph. Paths are stored relative to the project root so build artifacts stay
|
|
20
|
+
* relocatable, then resolved for post-build sidecar updates.
|
|
21
|
+
*/
|
|
22
|
+
export declare function readServerRuntimeOutputDirs(serverDir: string, root: string): string[];
|
|
23
|
+
//#endregion
|
|
@@ -16,7 +16,19 @@ import { readJsonFile } from "../utils/safe-json-file.js";
|
|
|
16
16
|
* warn when this returns `undefined`.
|
|
17
17
|
*/
|
|
18
18
|
function readPrerenderSecret(serverDir) {
|
|
19
|
-
|
|
19
|
+
const manifestPath = path.join(serverDir, "vinext-server.json");
|
|
20
|
+
return readJsonFile(manifestPath)?.prerenderSecret;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Read every server output root that contains a deployable response-stage
|
|
24
|
+
* graph. Paths are stored relative to the project root so build artifacts stay
|
|
25
|
+
* relocatable, then resolved for post-build sidecar updates.
|
|
26
|
+
*/
|
|
27
|
+
function readServerRuntimeOutputDirs(serverDir, root) {
|
|
28
|
+
const manifestPath = path.join(serverDir, "vinext-server.json");
|
|
29
|
+
const manifest = readJsonFile(manifestPath);
|
|
30
|
+
if (!Array.isArray(manifest?.runtimeOutputDirs)) return [];
|
|
31
|
+
return manifest.runtimeOutputDirs.filter((outputDir) => typeof outputDir === "string").map((outputDir) => path.resolve(root, outputDir));
|
|
20
32
|
}
|
|
21
33
|
//#endregion
|
|
22
|
-
export { readPrerenderSecret };
|
|
34
|
+
export { readPrerenderSecret, readServerRuntimeOutputDirs };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/build/ssr-manifest.d.ts
|
|
2
|
-
type BundleBackfillChunk = {
|
|
2
|
+
export type BundleBackfillChunk = {
|
|
3
3
|
type: "chunk";
|
|
4
4
|
fileName: string;
|
|
5
5
|
imports?: string[];
|
|
@@ -13,10 +13,9 @@ type BundleBackfillChunk = {
|
|
|
13
13
|
* Realpath with NATIVE separators (backslashes on Windows). Callers apply
|
|
14
14
|
* `toSlash` where the result becomes a module id / manifest key.
|
|
15
15
|
*/
|
|
16
|
-
declare function tryRealpathSync(candidate: string): string | null;
|
|
17
|
-
declare function relativeWithinRoot(root: string, moduleId: string): string | null;
|
|
18
|
-
declare function augmentSsrManifestFromBundle(ssrManifest: Record<string, string[]>, bundle: Record<string, BundleBackfillChunk | {
|
|
16
|
+
export declare function tryRealpathSync(candidate: string): string | null;
|
|
17
|
+
export declare function relativeWithinRoot(root: string, moduleId: string): string | null;
|
|
18
|
+
export declare function augmentSsrManifestFromBundle(ssrManifest: Record<string, string[]>, bundle: Record<string, BundleBackfillChunk | {
|
|
19
19
|
type: string;
|
|
20
20
|
}>, root: string, base?: string): Record<string, string[]>;
|
|
21
|
-
//#endregion
|
|
22
|
-
export { BundleBackfillChunk, augmentSsrManifestFromBundle, relativeWithinRoot, tryRealpathSync };
|
|
21
|
+
//#endregion
|
|
@@ -26,6 +26,5 @@ type StandaloneBuildResult = {
|
|
|
26
26
|
* (i.e. those left external by the bundler), so no client-only deps are
|
|
27
27
|
* included.
|
|
28
28
|
*/
|
|
29
|
-
declare function emitStandaloneOutput(options: StandaloneBuildOptions): StandaloneBuildResult;
|
|
30
|
-
//#endregion
|
|
31
|
-
export { emitStandaloneOutput };
|
|
29
|
+
export declare function emitStandaloneOutput(options: StandaloneBuildOptions): StandaloneBuildResult;
|
|
30
|
+
//#endregion
|
package/dist/build/standalone.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { readJsonFile } from "../utils/safe-json-file.js";
|
|
2
1
|
import { resolveVinextPackageRoot } from "../utils/vinext-root.js";
|
|
2
|
+
import { readJsonFile } from "../utils/safe-json-file.js";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
import nodePath from "node:path";
|
|
@@ -148,7 +148,7 @@ function emitStandaloneOutput(options) {
|
|
|
148
148
|
const outDir = nodePath.resolve(options.outDir);
|
|
149
149
|
const clientDir = nodePath.join(outDir, "client");
|
|
150
150
|
const serverDir = nodePath.join(outDir, "server");
|
|
151
|
-
if (!fs.existsSync(clientDir) || !fs.existsSync(serverDir)) throw new Error(`No build output found in ${outDir}. Run
|
|
151
|
+
if (!fs.existsSync(clientDir) || !fs.existsSync(serverDir)) throw new Error(`No build output found in ${outDir}. Run vite build first.`);
|
|
152
152
|
const standaloneDir = nodePath.join(outDir, "standalone");
|
|
153
153
|
const standaloneDistDir = nodePath.join(standaloneDir, "dist");
|
|
154
154
|
const standaloneNodeModulesDir = nodePath.join(standaloneDir, "node_modules");
|
|
@@ -2,7 +2,7 @@ import { AppRoute } from "../routing/app-route-graph.js";
|
|
|
2
2
|
import { ResolvedNextConfig } from "../config/next-config.js";
|
|
3
3
|
import { Route } from "../routing/pages-router.js";
|
|
4
4
|
//#region src/build/static-export.d.ts
|
|
5
|
-
type StaticExportOptions = {
|
|
5
|
+
export type StaticExportOptions = {
|
|
6
6
|
/**
|
|
7
7
|
* Absolute path to the pre-built Pages Router server bundle
|
|
8
8
|
* (e.g. `dist/server/entry.js`).
|
|
@@ -19,8 +19,8 @@ type StaticExportOptions = {
|
|
|
19
19
|
/** Resolved next.config.js */
|
|
20
20
|
config: ResolvedNextConfig;
|
|
21
21
|
};
|
|
22
|
-
type StaticExportResult = {
|
|
23
|
-
/** Number of
|
|
22
|
+
export type StaticExportResult = {
|
|
23
|
+
/** Number of rendered route entries */
|
|
24
24
|
pageCount: number;
|
|
25
25
|
/** Generated file paths (relative to outDir) */
|
|
26
26
|
files: string[];
|
|
@@ -37,8 +37,8 @@ type StaticExportResult = {
|
|
|
37
37
|
*
|
|
38
38
|
* Delegates to `prerenderPages()` in export mode.
|
|
39
39
|
*/
|
|
40
|
-
declare function staticExportPages(options: StaticExportOptions): Promise<StaticExportResult>;
|
|
41
|
-
type AppStaticExportOptions = {
|
|
40
|
+
export declare function staticExportPages(options: StaticExportOptions): Promise<StaticExportResult>;
|
|
41
|
+
export type AppStaticExportOptions = {
|
|
42
42
|
/** Discovered app routes */
|
|
43
43
|
routes: AppRoute[];
|
|
44
44
|
/**
|
|
@@ -61,6 +61,5 @@ type AppStaticExportOptions = {
|
|
|
61
61
|
*
|
|
62
62
|
* Delegates to `prerenderApp()` in export mode.
|
|
63
63
|
*/
|
|
64
|
-
declare function staticExportApp(options: AppStaticExportOptions): Promise<StaticExportResult>;
|
|
65
|
-
//#endregion
|
|
66
|
-
export { AppStaticExportOptions, StaticExportOptions, StaticExportResult, staticExportApp, staticExportPages };
|
|
64
|
+
export declare function staticExportApp(options: AppStaticExportOptions): Promise<StaticExportResult>;
|
|
65
|
+
//#endregion
|