vinext 0.0.55 → 0.1.1
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 +51 -15
- package/dist/build/assets-ignore.d.ts +32 -0
- package/dist/build/assets-ignore.js +48 -0
- package/dist/build/clean-output.d.ts +1 -2
- package/dist/build/clean-output.js +0 -2
- package/dist/build/client-build-config.d.ts +42 -3
- package/dist/build/client-build-config.js +86 -4
- package/dist/build/css-url-assets.d.ts +29 -0
- package/dist/build/css-url-assets.js +211 -0
- package/dist/build/google-fonts/build-url.d.ts +1 -2
- package/dist/build/google-fonts/build-url.js +0 -2
- package/dist/build/google-fonts/fallback-metrics-data.js +0 -2
- package/dist/build/google-fonts/fallback-metrics.d.ts +1 -2
- package/dist/build/google-fonts/fallback-metrics.js +0 -2
- package/dist/build/google-fonts/font-data.js +0 -2
- package/dist/build/google-fonts/font-metadata.d.ts +1 -2
- package/dist/build/google-fonts/font-metadata.js +0 -2
- package/dist/build/google-fonts/get-axes.d.ts +1 -2
- package/dist/build/google-fonts/get-axes.js +0 -2
- package/dist/build/google-fonts/sort-variants.d.ts +1 -2
- package/dist/build/google-fonts/sort-variants.js +0 -2
- package/dist/build/google-fonts/validate.d.ts +1 -2
- package/dist/build/google-fonts/validate.js +0 -2
- package/dist/build/inline-css.d.ts +1 -2
- package/dist/build/inline-css.js +0 -2
- package/dist/build/layout-classification-types.d.ts +1 -2
- package/dist/build/layout-classification.d.ts +2 -3
- package/dist/build/layout-classification.js +1 -3
- 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 +1 -2
- package/dist/build/nitro-route-rules.js +0 -2
- package/dist/build/precompress.d.ts +1 -2
- package/dist/build/precompress.js +0 -2
- package/dist/build/prerender.d.ts +2 -3
- package/dist/build/prerender.js +14 -2
- package/dist/build/report.d.ts +1 -2
- package/dist/build/report.js +0 -2
- package/dist/build/route-classification-injector.d.ts +1 -2
- package/dist/build/route-classification-injector.js +4 -6
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/route-classification-manifest.js +5 -7
- package/dist/build/run-prerender.d.ts +1 -2
- package/dist/build/run-prerender.js +15 -7
- package/dist/build/server-manifest.d.ts +1 -2
- package/dist/build/server-manifest.js +0 -2
- package/dist/build/ssr-manifest.d.ts +1 -2
- package/dist/build/ssr-manifest.js +2 -4
- package/dist/build/standalone.d.ts +1 -2
- package/dist/build/standalone.js +0 -2
- package/dist/build/static-export.d.ts +2 -3
- package/dist/build/static-export.js +0 -2
- package/dist/cache/cache-adapters-virtual.d.ts +50 -0
- package/dist/cache/cache-adapters-virtual.js +45 -0
- package/dist/check.d.ts +33 -2
- package/dist/check.js +306 -24
- package/dist/cli-args.d.ts +1 -2
- package/dist/cli-args.js +0 -2
- package/dist/cli.js +9 -13
- package/dist/client/instrumentation-client-inject.d.ts +1 -2
- package/dist/client/instrumentation-client-inject.js +0 -2
- package/dist/client/instrumentation-client-state.d.ts +1 -2
- package/dist/client/instrumentation-client-state.js +0 -2
- package/dist/client/instrumentation-client.d.ts +1 -2
- package/dist/client/instrumentation-client.js +0 -2
- package/dist/client/navigation-runtime.d.ts +9 -2
- package/dist/client/navigation-runtime.js +1 -3
- package/dist/client/pages-router-link-navigation.d.ts +1 -2
- package/dist/client/pages-router-link-navigation.js +0 -2
- package/dist/client/validate-module-path.d.ts +1 -2
- package/dist/client/validate-module-path.js +0 -2
- package/dist/client/vinext-next-data.d.ts +3 -3
- package/dist/client/vinext-next-data.js +0 -2
- package/dist/client/window-next.d.ts +1 -2
- package/dist/client/window-next.js +0 -2
- package/dist/cloudflare/index.d.ts +1 -1
- package/dist/cloudflare/index.js +1 -1
- package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +97 -0
- package/dist/cloudflare/{kv-cache-handler.d.ts → src/cache/kv-data-adapter.runtime.d.ts} +25 -6
- package/dist/cloudflare/{kv-cache-handler.js → src/cache/kv-data-adapter.runtime.js} +36 -28
- package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
- package/dist/cloudflare/tpr.d.ts +2 -3
- package/dist/cloudflare/tpr.js +8 -8
- package/dist/config/config-matchers.d.ts +20 -2
- package/dist/config/config-matchers.js +35 -3
- package/dist/config/dotenv.d.ts +1 -2
- package/dist/config/dotenv.js +0 -2
- package/dist/config/next-config.d.ts +32 -5
- package/dist/config/next-config.js +53 -6
- package/dist/config/tsconfig-paths.d.ts +1 -2
- package/dist/config/tsconfig-paths.js +3 -7
- package/dist/deploy.d.ts +48 -3
- package/dist/deploy.js +180 -415
- package/dist/entries/app-browser-entry.d.ts +1 -2
- package/dist/entries/app-browser-entry.js +0 -2
- package/dist/entries/app-rsc-entry.d.ts +12 -6
- package/dist/entries/app-rsc-entry.js +101 -62
- package/dist/entries/app-rsc-manifest.d.ts +1 -2
- package/dist/entries/app-rsc-manifest.js +40 -9
- package/dist/entries/app-ssr-entry.d.ts +1 -2
- package/dist/entries/app-ssr-entry.js +0 -2
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +16 -5
- package/dist/entries/pages-entry-helpers.d.ts +2 -11
- package/dist/entries/pages-entry-helpers.js +1 -20
- package/dist/entries/pages-server-entry.d.ts +2 -3
- package/dist/entries/pages-server-entry.js +98 -703
- package/dist/entries/runtime-entry-module.d.ts +1 -2
- package/dist/entries/runtime-entry-module.js +0 -2
- package/dist/index.d.ts +22 -2
- package/dist/index.js +376 -316
- package/dist/init.d.ts +1 -2
- package/dist/init.js +1 -3
- 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 +1 -2
- package/dist/plugins/async-hooks-stub.js +0 -2
- package/dist/plugins/client-reference-dedup.d.ts +1 -2
- package/dist/plugins/client-reference-dedup.js +4 -8
- package/dist/plugins/css-data-url.d.ts +1 -2
- package/dist/plugins/css-data-url.js +0 -2
- package/dist/plugins/fonts.d.ts +13 -3
- package/dist/plugins/fonts.js +19 -13
- package/dist/plugins/import-meta-url.d.ts +2 -2
- package/dist/plugins/import-meta-url.js +187 -33
- package/dist/plugins/instrumentation-client.d.ts +1 -2
- package/dist/plugins/instrumentation-client.js +0 -2
- package/dist/plugins/middleware-server-only.d.ts +1 -2
- package/dist/plugins/middleware-server-only.js +0 -2
- package/dist/plugins/og-assets.d.ts +32 -8
- package/dist/plugins/og-assets.js +126 -34
- package/dist/plugins/optimize-imports.d.ts +1 -2
- package/dist/plugins/optimize-imports.js +9 -17
- package/dist/plugins/postcss.d.ts +1 -2
- package/dist/plugins/postcss.js +18 -16
- package/dist/plugins/remove-console.d.ts +1 -2
- package/dist/plugins/remove-console.js +0 -2
- package/dist/plugins/require-context.d.ts +6 -0
- package/dist/plugins/require-context.js +184 -0
- package/dist/plugins/rsc-client-reference-loaders.d.ts +1 -2
- package/dist/plugins/rsc-client-reference-loaders.js +0 -2
- package/dist/plugins/rsc-client-shim-excludes.d.ts +1 -2
- package/dist/plugins/rsc-client-shim-excludes.js +0 -2
- package/dist/plugins/sass.d.ts +1 -2
- package/dist/plugins/sass.js +0 -2
- package/dist/plugins/server-externals-manifest.d.ts +1 -2
- package/dist/plugins/server-externals-manifest.js +0 -2
- package/dist/plugins/strip-server-exports.d.ts +1 -2
- package/dist/plugins/strip-server-exports.js +0 -2
- package/dist/routing/app-route-graph.d.ts +14 -10
- package/dist/routing/app-route-graph.js +146 -35
- package/dist/routing/app-router.d.ts +1 -2
- package/dist/routing/app-router.js +0 -2
- package/dist/routing/file-matcher.d.ts +6 -2
- package/dist/routing/file-matcher.js +15 -7
- package/dist/routing/pages-router.d.ts +1 -2
- package/dist/routing/pages-router.js +0 -2
- package/dist/routing/route-matching.d.ts +1 -2
- package/dist/routing/route-matching.js +0 -2
- package/dist/routing/route-pattern.d.ts +2 -2
- package/dist/routing/route-pattern.js +16 -3
- package/dist/routing/route-trie.d.ts +1 -2
- package/dist/routing/route-trie.js +0 -2
- package/dist/routing/route-validation.d.ts +1 -2
- package/dist/routing/route-validation.js +0 -2
- package/dist/routing/utils.d.ts +44 -2
- package/dist/routing/utils.js +62 -3
- package/dist/server/api-handler.d.ts +1 -2
- package/dist/server/api-handler.js +4 -2
- package/dist/server/app-bfcache-id.d.ts +5 -0
- package/dist/server/app-bfcache-id.js +5 -0
- package/dist/server/app-browser-action-result.d.ts +1 -2
- package/dist/server/app-browser-action-result.js +0 -2
- 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.js +244 -88
- package/dist/server/app-browser-error.d.ts +1 -2
- package/dist/server/app-browser-error.js +0 -2
- package/dist/server/app-browser-hydration.d.ts +1 -2
- package/dist/server/app-browser-hydration.js +0 -2
- package/dist/server/app-browser-interception-context.d.ts +2 -2
- package/dist/server/app-browser-interception-context.js +15 -4
- package/dist/server/app-browser-mpa-navigation.d.ts +2 -2
- package/dist/server/app-browser-mpa-navigation.js +9 -3
- package/dist/server/app-browser-navigation-controller.d.ts +15 -4
- package/dist/server/app-browser-navigation-controller.js +80 -4
- package/dist/server/app-browser-popstate.d.ts +12 -4
- package/dist/server/app-browser-popstate.js +19 -6
- package/dist/server/app-browser-rsc-redirect.d.ts +1 -2
- package/dist/server/app-browser-rsc-redirect.js +0 -2
- package/dist/server/app-browser-state.d.ts +31 -4
- package/dist/server/app-browser-state.js +196 -10
- package/dist/server/app-browser-stream.d.ts +1 -2
- package/dist/server/app-browser-stream.js +0 -2
- package/dist/server/app-browser-visible-commit.d.ts +2 -3
- package/dist/server/app-browser-visible-commit.js +30 -21
- package/dist/server/app-client-reference-preloader.d.ts +1 -2
- package/dist/server/app-client-reference-preloader.js +0 -2
- package/dist/server/app-elements-wire.d.ts +14 -8
- package/dist/server/app-elements-wire.js +45 -24
- package/dist/server/app-elements.d.ts +2 -3
- package/dist/server/app-elements.js +2 -4
- package/dist/server/app-fallback-renderer.d.ts +5 -5
- package/dist/server/app-fallback-renderer.js +4 -3
- package/dist/server/app-history-state.d.ts +62 -2
- package/dist/server/app-history-state.js +176 -10
- package/dist/server/app-hook-warning-suppression.d.ts +1 -2
- package/dist/server/app-hook-warning-suppression.js +0 -2
- package/dist/server/app-inline-css-client.d.ts +1 -2
- package/dist/server/app-inline-css-client.js +0 -2
- package/dist/server/app-interception-context-header.d.ts +1 -2
- package/dist/server/app-interception-context-header.js +0 -2
- package/dist/server/app-layout-param-observation.d.ts +15 -2
- package/dist/server/app-layout-param-observation.js +46 -8
- package/dist/server/app-middleware.d.ts +1 -2
- package/dist/server/app-middleware.js +0 -2
- package/dist/server/app-mounted-slots-header.d.ts +1 -2
- package/dist/server/app-mounted-slots-header.js +0 -2
- package/dist/server/app-optimistic-routing.d.ts +1 -2
- package/dist/server/app-optimistic-routing.js +0 -2
- package/dist/server/app-page-boundary-render.d.ts +4 -3
- package/dist/server/app-page-boundary-render.js +59 -28
- package/dist/server/app-page-boundary.d.ts +11 -2
- package/dist/server/app-page-boundary.js +13 -4
- package/dist/server/app-page-cache.d.ts +3 -3
- package/dist/server/app-page-cache.js +36 -11
- package/dist/server/app-page-dispatch.d.ts +25 -5
- package/dist/server/app-page-dispatch.js +122 -25
- package/dist/server/app-page-element-builder.d.ts +4 -2
- package/dist/server/app-page-element-builder.js +31 -21
- package/dist/server/app-page-execution.d.ts +8 -3
- package/dist/server/app-page-execution.js +55 -24
- package/dist/server/app-page-head.d.ts +1 -2
- package/dist/server/app-page-head.js +6 -6
- package/dist/server/app-page-method.d.ts +1 -2
- package/dist/server/app-page-method.js +0 -2
- package/dist/server/app-page-params.d.ts +1 -2
- package/dist/server/app-page-params.js +0 -2
- package/dist/server/app-page-probe.d.ts +79 -2
- package/dist/server/app-page-probe.js +89 -9
- package/dist/server/app-page-render-identity.d.ts +1 -2
- package/dist/server/app-page-render-identity.js +0 -2
- package/dist/server/app-page-render-observation.d.ts +1 -2
- package/dist/server/app-page-render-observation.js +0 -2
- package/dist/server/app-page-render.d.ts +15 -3
- package/dist/server/app-page-render.js +171 -12
- package/dist/server/app-page-request.d.ts +12 -9
- package/dist/server/app-page-request.js +12 -11
- package/dist/server/app-page-response.d.ts +4 -4
- package/dist/server/app-page-response.js +6 -4
- package/dist/server/app-page-route-wiring.d.ts +14 -3
- package/dist/server/app-page-route-wiring.js +65 -12
- 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 +1 -2
- package/dist/server/app-page-segment-state.js +1 -8
- package/dist/server/app-page-stream.d.ts +54 -9
- package/dist/server/app-page-stream.js +61 -10
- package/dist/server/app-pages-bridge.d.ts +41 -0
- package/dist/server/app-pages-bridge.js +54 -0
- package/dist/server/app-post-middleware-context.d.ts +1 -2
- package/dist/server/app-post-middleware-context.js +0 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +21 -0
- package/dist/server/app-ppr-fallback-shell.js +82 -0
- package/dist/server/app-prerender-endpoints.d.ts +1 -2
- package/dist/server/app-prerender-endpoints.js +0 -2
- package/dist/server/app-prerender-static-params.d.ts +15 -2
- package/dist/server/app-prerender-static-params.js +44 -13
- package/dist/server/app-render-dependency.d.ts +3 -2
- package/dist/server/app-render-dependency.js +9 -3
- package/dist/server/app-request-context.d.ts +1 -2
- package/dist/server/app-request-context.js +0 -2
- package/dist/server/app-route-handler-cache.d.ts +2 -2
- package/dist/server/app-route-handler-cache.js +1 -2
- package/dist/server/app-route-handler-dispatch.d.ts +2 -2
- package/dist/server/app-route-handler-dispatch.js +2 -2
- package/dist/server/app-route-handler-execution.d.ts +2 -2
- package/dist/server/app-route-handler-execution.js +3 -4
- package/dist/server/app-route-handler-policy.d.ts +1 -2
- package/dist/server/app-route-handler-policy.js +0 -2
- package/dist/server/app-route-handler-response.d.ts +2 -3
- package/dist/server/app-route-handler-response.js +7 -6
- package/dist/server/app-route-handler-runtime.d.ts +2 -2
- package/dist/server/app-route-handler-runtime.js +3 -4
- package/dist/server/app-route-module-loader.d.ts +43 -0
- package/dist/server/app-route-module-loader.js +32 -0
- package/dist/server/app-router-entry.d.ts +1 -2
- package/dist/server/app-router-entry.js +2 -2
- package/dist/server/app-rsc-cache-busting.d.ts +10 -2
- package/dist/server/app-rsc-cache-busting.js +13 -4
- package/dist/server/app-rsc-embedded-chunks.d.ts +1 -2
- package/dist/server/app-rsc-embedded-chunks.js +0 -2
- package/dist/server/app-rsc-error-handler.d.ts +1 -2
- package/dist/server/app-rsc-error-handler.js +0 -2
- package/dist/server/app-rsc-errors.d.ts +1 -2
- package/dist/server/app-rsc-errors.js +0 -2
- package/dist/server/app-rsc-handler.d.ts +17 -2
- package/dist/server/app-rsc-handler.js +24 -15
- package/dist/server/app-rsc-render-mode.d.ts +1 -2
- package/dist/server/app-rsc-render-mode.js +0 -2
- package/dist/server/app-rsc-request-normalization.d.ts +4 -5
- package/dist/server/app-rsc-request-normalization.js +2 -4
- package/dist/server/app-rsc-response-finalizer.d.ts +1 -2
- package/dist/server/app-rsc-response-finalizer.js +2 -2
- package/dist/server/app-rsc-route-matching.d.ts +20 -2
- package/dist/server/app-rsc-route-matching.js +29 -6
- package/dist/server/app-segment-config.d.ts +4 -2
- package/dist/server/app-segment-config.js +8 -2
- package/dist/server/app-server-action-execution.d.ts +18 -3
- package/dist/server/app-server-action-execution.js +75 -18
- package/dist/server/app-ssr-entry.d.ts +11 -4
- package/dist/server/app-ssr-entry.js +47 -15
- package/dist/server/app-ssr-error-meta.d.ts +1 -2
- package/dist/server/app-ssr-error-meta.js +0 -2
- package/dist/server/app-ssr-stream.d.ts +1 -2
- package/dist/server/app-ssr-stream.js +31 -3
- package/dist/server/app-static-generation.d.ts +1 -2
- package/dist/server/app-static-generation.js +0 -2
- 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 +1 -2
- package/dist/server/artifact-compatibility.js +2 -6
- package/dist/server/cache-control.d.ts +15 -2
- package/dist/server/cache-control.js +21 -3
- package/dist/server/cache-headers.d.ts +1 -2
- package/dist/server/cache-headers.js +0 -2
- package/dist/server/cache-proof.d.ts +1 -2
- package/dist/server/cache-proof.js +0 -2
- package/dist/server/client-reuse-manifest.d.ts +3 -3
- package/dist/server/client-reuse-manifest.js +6 -10
- package/dist/server/client-trace-metadata.d.ts +1 -2
- package/dist/server/client-trace-metadata.js +0 -2
- package/dist/server/cookie-utils.d.ts +1 -2
- package/dist/server/cookie-utils.js +0 -2
- package/dist/server/csp.d.ts +1 -2
- package/dist/server/csp.js +0 -2
- package/dist/server/default-global-error-module.d.ts +1 -2
- package/dist/server/default-global-error-module.js +0 -2
- package/dist/server/default-not-found-module.d.ts +1 -2
- package/dist/server/default-not-found-module.js +0 -2
- package/dist/server/dev-error-overlay-store.d.ts +20 -4
- package/dist/server/dev-error-overlay-store.js +23 -4
- package/dist/server/dev-error-overlay.d.ts +39 -3
- package/dist/server/dev-error-overlay.js +952 -164
- 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 +1 -2
- package/dist/server/dev-lockfile.js +0 -2
- package/dist/server/dev-module-runner.d.ts +1 -2
- package/dist/server/dev-module-runner.js +0 -2
- package/dist/server/dev-origin-check.d.ts +1 -2
- package/dist/server/dev-origin-check.js +0 -2
- package/dist/server/dev-route-files.d.ts +1 -2
- package/dist/server/dev-route-files.js +0 -2
- package/dist/server/dev-server.d.ts +3 -4
- package/dist/server/dev-server.js +129 -49
- 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 +1 -2
- package/dist/server/document-initial-head.js +0 -2
- package/dist/server/edge-api-runtime.d.ts +1 -2
- package/dist/server/edge-api-runtime.js +0 -2
- package/dist/server/file-based-metadata.d.ts +1 -2
- package/dist/server/file-based-metadata.js +0 -2
- package/dist/server/headers.d.ts +3 -2
- package/dist/server/headers.js +3 -3
- package/dist/server/html.d.ts +1 -2
- package/dist/server/html.js +0 -2
- package/dist/server/http-error-responses.d.ts +1 -2
- package/dist/server/http-error-responses.js +0 -2
- package/dist/server/image-optimization.d.ts +1 -2
- package/dist/server/image-optimization.js +0 -2
- package/dist/server/implicit-tags.d.ts +1 -2
- package/dist/server/implicit-tags.js +0 -2
- package/dist/server/instrumentation-runtime.d.ts +1 -2
- package/dist/server/instrumentation-runtime.js +0 -2
- package/dist/server/instrumentation.d.ts +1 -2
- package/dist/server/instrumentation.js +0 -2
- package/dist/server/isr-cache.d.ts +46 -3
- package/dist/server/isr-cache.js +93 -24
- package/dist/server/metadata-route-build-data.d.ts +1 -2
- package/dist/server/metadata-route-build-data.js +0 -2
- package/dist/server/metadata-route-response.d.ts +1 -2
- package/dist/server/metadata-route-response.js +0 -2
- package/dist/server/metadata-routes.d.ts +1 -2
- package/dist/server/metadata-routes.js +0 -2
- package/dist/server/middleware-matcher.d.ts +1 -2
- package/dist/server/middleware-matcher.js +0 -2
- package/dist/server/middleware-request-headers.d.ts +1 -2
- package/dist/server/middleware-request-headers.js +0 -2
- package/dist/server/middleware-response-headers.d.ts +1 -2
- package/dist/server/middleware-response-headers.js +0 -2
- package/dist/server/middleware-runtime.d.ts +1 -2
- package/dist/server/middleware-runtime.js +14 -5
- package/dist/server/middleware.d.ts +2 -3
- package/dist/server/middleware.js +0 -2
- package/dist/server/navigation-planner.d.ts +16 -2
- package/dist/server/navigation-planner.js +6 -6
- package/dist/server/navigation-trace.d.ts +1 -2
- package/dist/server/navigation-trace.js +0 -2
- package/dist/server/next-error-digest.d.ts +1 -2
- package/dist/server/next-error-digest.js +0 -2
- package/dist/server/normalize-path.d.ts +1 -2
- package/dist/server/normalize-path.js +0 -2
- package/dist/server/pages-api-route.d.ts +1 -2
- package/dist/server/pages-api-route.js +1 -3
- package/dist/server/pages-asset-tags.d.ts +66 -0
- package/dist/server/pages-asset-tags.js +116 -0
- package/dist/server/pages-body-parser-config.d.ts +1 -2
- package/dist/server/pages-body-parser-config.js +0 -2
- package/dist/server/pages-data-route.d.ts +39 -2
- package/dist/server/pages-data-route.js +46 -3
- package/dist/server/pages-default-404.d.ts +1 -2
- package/dist/server/pages-default-404.js +0 -2
- package/dist/server/pages-document-initial-props.d.ts +1 -2
- package/dist/server/pages-document-initial-props.js +0 -2
- package/dist/server/pages-get-initial-props.d.ts +17 -0
- package/dist/server/pages-get-initial-props.js +50 -0
- package/dist/server/pages-i18n.d.ts +1 -2
- package/dist/server/pages-i18n.js +0 -2
- package/dist/server/pages-media-type.d.ts +1 -2
- package/dist/server/pages-media-type.js +1 -2
- package/dist/server/pages-node-compat.d.ts +11 -2
- package/dist/server/pages-node-compat.js +38 -3
- package/dist/server/pages-page-data.d.ts +17 -10
- package/dist/server/pages-page-data.js +79 -35
- package/dist/server/pages-page-handler.d.ts +97 -0
- package/dist/server/pages-page-handler.js +348 -0
- package/dist/server/pages-page-method.d.ts +1 -2
- package/dist/server/pages-page-method.js +0 -2
- package/dist/server/pages-page-response.d.ts +11 -3
- package/dist/server/pages-page-response.js +16 -5
- 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 +99 -0
- package/dist/server/pages-request-pipeline.js +209 -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 +1 -2
- package/dist/server/pages-serializable-props.js +0 -2
- package/dist/server/pregenerated-concrete-paths.d.ts +32 -0
- package/dist/server/pregenerated-concrete-paths.js +78 -0
- package/dist/server/prerender-route-params.d.ts +13 -3
- package/dist/server/prerender-route-params.js +30 -11
- package/dist/server/prerender-work-unit-setup.d.ts +1 -2
- package/dist/server/prerender-work-unit-setup.js +0 -2
- package/dist/server/prod-server.d.ts +8 -6
- package/dist/server/prod-server.js +101 -219
- package/dist/server/proxy-trust.d.ts +1 -2
- package/dist/server/proxy-trust.js +0 -2
- package/dist/server/request-log.d.ts +1 -2
- package/dist/server/request-log.js +0 -2
- package/dist/server/request-pipeline.d.ts +14 -2
- package/dist/server/request-pipeline.js +42 -3
- package/dist/server/rsc-stream-hints.d.ts +1 -2
- package/dist/server/rsc-stream-hints.js +0 -2
- package/dist/server/seed-cache.d.ts +6 -2
- package/dist/server/seed-cache.js +10 -8
- package/dist/server/server-action-not-found.d.ts +1 -2
- package/dist/server/server-action-not-found.js +0 -2
- package/dist/server/server-globals.d.ts +1 -2
- package/dist/server/server-globals.js +0 -2
- package/dist/server/skip-cache-proof.d.ts +1 -2
- package/dist/server/skip-cache-proof.js +0 -2
- package/dist/server/socket-error-backstop.d.ts +19 -2
- package/dist/server/socket-error-backstop.js +77 -6
- package/dist/server/static-file-cache.d.ts +1 -2
- package/dist/server/static-file-cache.js +0 -2
- package/dist/server/static-layout-client-reuse-proof.d.ts +1 -2
- package/dist/server/static-layout-client-reuse-proof.js +0 -2
- package/dist/server/streaming-metadata.d.ts +1 -2
- package/dist/server/streaming-metadata.js +0 -2
- package/dist/server/worker-utils.d.ts +1 -2
- package/dist/server/worker-utils.js +3 -6
- package/dist/shims/amp.d.ts +1 -2
- package/dist/shims/amp.js +0 -2
- package/dist/shims/app-router-scroll-state.d.ts +1 -2
- package/dist/shims/app-router-scroll-state.js +0 -2
- package/dist/shims/app-router-scroll.d.ts +3 -5
- package/dist/shims/app-router-scroll.js +22 -6
- package/dist/shims/app.d.ts +1 -2
- package/dist/shims/app.js +0 -2
- package/dist/shims/before-interactive-context.d.ts +1 -2
- package/dist/shims/before-interactive-context.js +0 -2
- package/dist/shims/cache-for-request.d.ts +1 -2
- package/dist/shims/cache-for-request.js +0 -2
- package/dist/shims/cache-runtime.d.ts +20 -5
- package/dist/shims/cache-runtime.js +66 -31
- package/dist/shims/cache.d.ts +48 -7
- package/dist/shims/cache.js +79 -20
- 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 +1 -2
- package/dist/shims/client-hook-error.js +0 -2
- package/dist/shims/client-locale.d.ts +1 -2
- package/dist/shims/client-locale.js +1 -3
- package/dist/shims/compat-router.d.ts +1 -2
- package/dist/shims/compat-router.js +0 -2
- package/dist/shims/config.d.ts +1 -2
- package/dist/shims/config.js +0 -2
- package/dist/shims/constants.d.ts +1 -2
- package/dist/shims/constants.js +0 -2
- package/dist/shims/default-global-error.d.ts +3 -4
- package/dist/shims/default-global-error.js +0 -2
- package/dist/shims/default-not-found.d.ts +1 -2
- package/dist/shims/default-not-found.js +0 -2
- package/dist/shims/document.d.ts +5 -7
- package/dist/shims/document.js +0 -2
- package/dist/shims/dynamic.d.ts +1 -2
- package/dist/shims/dynamic.js +0 -2
- package/dist/shims/error-boundary.d.ts +32 -18
- package/dist/shims/error-boundary.js +43 -3
- package/dist/shims/error.d.ts +1 -2
- package/dist/shims/error.js +0 -2
- package/dist/shims/fetch-cache.d.ts +14 -2
- package/dist/shims/fetch-cache.js +20 -5
- package/dist/shims/font-google-base.d.ts +1 -2
- package/dist/shims/font-google-base.js +1 -13
- package/dist/shims/font-local.d.ts +1 -2
- package/dist/shims/font-local.js +1 -15
- package/dist/shims/font-utils.d.ts +7 -2
- package/dist/shims/font-utils.js +13 -3
- package/dist/shims/form.d.ts +12 -5
- package/dist/shims/form.js +98 -21
- package/dist/shims/hash-scroll.d.ts +2 -2
- package/dist/shims/hash-scroll.js +3 -3
- package/dist/shims/head-state.d.ts +1 -2
- package/dist/shims/head-state.js +0 -2
- package/dist/shims/head.d.ts +1 -2
- package/dist/shims/head.js +0 -2
- package/dist/shims/headers.d.ts +9 -2
- package/dist/shims/headers.js +13 -3
- package/dist/shims/i18n-context.d.ts +1 -2
- package/dist/shims/i18n-context.js +0 -2
- package/dist/shims/i18n-state.d.ts +1 -2
- package/dist/shims/i18n-state.js +0 -2
- package/dist/shims/image-config.d.ts +1 -2
- package/dist/shims/image-config.js +0 -2
- package/dist/shims/image.d.ts +1 -2
- package/dist/shims/image.js +1 -3
- package/dist/shims/internal/als-registry.d.ts +1 -2
- package/dist/shims/internal/als-registry.js +0 -2
- package/dist/shims/internal/api-utils.d.ts +1 -2
- package/dist/shims/internal/app-route-detection.d.ts +1 -2
- package/dist/shims/internal/app-route-detection.js +0 -2
- package/dist/shims/internal/app-router-context.d.ts +1 -2
- package/dist/shims/internal/app-router-context.js +0 -2
- package/dist/shims/internal/cookie-serialize.d.ts +1 -2
- package/dist/shims/internal/cookie-serialize.js +0 -2
- 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 +1 -2
- package/dist/shims/internal/make-hanging-promise.js +0 -2
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +1 -2
- package/dist/shims/internal/pages-data-fetch-dedup.js +0 -2
- package/dist/shims/internal/pages-data-target.d.ts +1 -2
- package/dist/shims/internal/pages-data-target.js +0 -2
- package/dist/shims/internal/pages-data-url.d.ts +1 -2
- package/dist/shims/internal/pages-data-url.js +0 -2
- package/dist/shims/internal/parse-cookie-header.d.ts +1 -2
- package/dist/shims/internal/parse-cookie-header.js +0 -2
- 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 +2 -4
- package/dist/shims/internal/router-context.js +0 -2
- package/dist/shims/internal/utils.d.ts +2 -2
- package/dist/shims/internal/utils.js +0 -2
- package/dist/shims/internal/work-unit-async-storage.d.ts +1 -2
- package/dist/shims/internal/work-unit-async-storage.js +0 -2
- package/dist/shims/layout-segment-context.d.ts +2 -4
- package/dist/shims/layout-segment-context.js +0 -2
- package/dist/shims/legacy-image.d.ts +1 -2
- package/dist/shims/legacy-image.js +0 -2
- package/dist/shims/link-prefetch.d.ts +1 -2
- package/dist/shims/link-prefetch.js +0 -2
- package/dist/shims/link.d.ts +2 -2
- package/dist/shims/link.js +40 -20
- package/dist/shims/metadata.d.ts +4 -5
- package/dist/shims/metadata.js +1 -3
- package/dist/shims/navigation-state.d.ts +1 -2
- package/dist/shims/navigation-state.js +0 -2
- package/dist/shims/navigation.d.ts +25 -9
- package/dist/shims/navigation.js +251 -46
- package/dist/shims/navigation.react-server.d.ts +1 -2
- package/dist/shims/navigation.react-server.js +0 -2
- package/dist/shims/offline.d.ts +1 -2
- package/dist/shims/offline.js +0 -2
- package/dist/shims/og.d.ts +1 -2
- package/dist/shims/og.js +2 -4
- package/dist/shims/pages-router-runtime.d.ts +7 -2
- package/dist/shims/pages-router-runtime.js +11 -3
- package/dist/shims/ppr-fallback-shell.d.ts +29 -0
- package/dist/shims/ppr-fallback-shell.js +149 -0
- package/dist/shims/readonly-url-search-params.d.ts +1 -2
- package/dist/shims/readonly-url-search-params.js +0 -2
- package/dist/shims/request-context.d.ts +9 -5
- package/dist/shims/request-context.js +0 -2
- package/dist/shims/request-state-types.d.ts +1 -1
- package/dist/shims/root-params.d.ts +1 -2
- package/dist/shims/root-params.js +0 -2
- package/dist/shims/router-state.d.ts +2 -2
- package/dist/shims/router-state.js +2 -2
- package/dist/shims/router.d.ts +6 -4
- package/dist/shims/router.js +262 -40
- package/dist/shims/script-nonce-context.d.ts +1 -2
- package/dist/shims/script-nonce-context.js +0 -2
- package/dist/shims/script.d.ts +1 -2
- package/dist/shims/script.js +0 -2
- package/dist/shims/server.d.ts +1 -2
- package/dist/shims/server.js +0 -2
- package/dist/shims/slot.d.ts +11 -4
- package/dist/shims/slot.js +121 -9
- package/dist/shims/thenable-params.d.ts +2 -2
- package/dist/shims/thenable-params.js +107 -12
- package/dist/shims/unified-request-context.d.ts +1 -2
- package/dist/shims/unified-request-context.js +0 -2
- package/dist/shims/unrecognized-action-error.d.ts +1 -2
- package/dist/shims/unrecognized-action-error.js +0 -2
- package/dist/shims/url-safety.d.ts +1 -2
- package/dist/shims/url-safety.js +0 -2
- package/dist/shims/url-utils.d.ts +1 -2
- package/dist/shims/url-utils.js +0 -2
- package/dist/shims/use-merged-ref.d.ts +1 -2
- package/dist/shims/use-merged-ref.js +0 -2
- package/dist/shims/web-vitals.d.ts +1 -2
- package/dist/shims/web-vitals.js +0 -2
- package/dist/typegen.d.ts +1 -2
- package/dist/typegen.js +2 -9
- package/dist/utils/asset-prefix.d.ts +1 -2
- package/dist/utils/asset-prefix.js +0 -2
- package/dist/utils/base-path.d.ts +1 -2
- package/dist/utils/base-path.js +0 -2
- package/dist/utils/cache-control-metadata.d.ts +1 -4
- package/dist/utils/cache-control-metadata.js +1 -3
- package/dist/utils/client-build-manifest.d.ts +8 -2
- package/dist/utils/client-build-manifest.js +30 -7
- package/dist/utils/client-entry-manifest.d.ts +11 -0
- package/dist/utils/client-entry-manifest.js +29 -0
- package/dist/utils/compare.d.ts +4 -0
- package/dist/utils/compare.js +8 -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 +1 -2
- package/dist/utils/domain-locale.js +2 -4
- package/dist/utils/encode-cache-tag.d.ts +1 -2
- package/dist/utils/encode-cache-tag.js +0 -2
- package/dist/utils/error-cause.d.ts +1 -2
- package/dist/utils/error-cause.js +0 -2
- package/dist/utils/hash.d.ts +1 -2
- package/dist/utils/hash.js +0 -2
- package/dist/utils/html-limited-bots.d.ts +1 -2
- package/dist/utils/html-limited-bots.js +0 -2
- package/dist/utils/lazy-chunks.d.ts +1 -2
- package/dist/utils/lazy-chunks.js +0 -2
- package/dist/utils/manifest-paths.d.ts +8 -3
- package/dist/utils/manifest-paths.js +15 -3
- package/dist/utils/mdx-scan.d.ts +1 -2
- package/dist/utils/mdx-scan.js +0 -2
- package/dist/utils/navigation-signal.d.ts +1 -2
- package/dist/utils/navigation-signal.js +0 -2
- package/dist/utils/number.d.ts +4 -0
- package/dist/utils/number.js +6 -0
- package/dist/utils/path.d.ts +4 -2
- package/dist/utils/path.js +5 -3
- package/dist/utils/prerender-output-paths.d.ts +1 -2
- package/dist/utils/prerender-output-paths.js +0 -2
- package/dist/utils/project.d.ts +1 -2
- package/dist/utils/project.js +0 -2
- package/dist/utils/promise.d.ts +4 -0
- package/dist/utils/promise.js +6 -0
- package/dist/utils/public-routes.d.ts +1 -2
- package/dist/utils/public-routes.js +0 -2
- package/dist/utils/query.d.ts +1 -2
- package/dist/utils/query.js +0 -2
- package/dist/utils/record.d.ts +1 -2
- package/dist/utils/record.js +0 -2
- package/dist/utils/regex.d.ts +4 -0
- package/dist/utils/regex.js +6 -0
- package/dist/utils/safe-json-file.d.ts +1 -2
- package/dist/utils/safe-json-file.js +0 -2
- package/dist/utils/sorted-array.d.ts +1 -2
- package/dist/utils/sorted-array.js +0 -2
- package/dist/utils/text-stream.d.ts +1 -2
- package/dist/utils/text-stream.js +0 -2
- package/dist/utils/vinext-root.d.ts +1 -2
- package/dist/utils/vinext-root.js +0 -2
- package/dist/utils/vite-version.d.ts +1 -2
- package/dist/utils/vite-version.js +0 -2
- package/package.json +23 -6
- package/dist/build/clean-output.js.map +0 -1
- package/dist/build/client-build-config.js.map +0 -1
- package/dist/build/google-fonts/build-url.js.map +0 -1
- package/dist/build/google-fonts/fallback-metrics-data.js.map +0 -1
- package/dist/build/google-fonts/fallback-metrics.js.map +0 -1
- package/dist/build/google-fonts/font-data.js.map +0 -1
- package/dist/build/google-fonts/font-metadata.js.map +0 -1
- package/dist/build/google-fonts/get-axes.js.map +0 -1
- package/dist/build/google-fonts/sort-variants.js.map +0 -1
- package/dist/build/google-fonts/validate.js.map +0 -1
- package/dist/build/inline-css.js.map +0 -1
- package/dist/build/layout-classification.js.map +0 -1
- package/dist/build/nitro-route-rules.js.map +0 -1
- package/dist/build/precompress.js.map +0 -1
- package/dist/build/prerender.js.map +0 -1
- package/dist/build/report.js.map +0 -1
- package/dist/build/route-classification-injector.js.map +0 -1
- package/dist/build/route-classification-manifest.js.map +0 -1
- package/dist/build/run-prerender.js.map +0 -1
- package/dist/build/server-manifest.js.map +0 -1
- package/dist/build/ssr-manifest.js.map +0 -1
- package/dist/build/standalone.js.map +0 -1
- package/dist/build/static-export.js.map +0 -1
- package/dist/check.js.map +0 -1
- package/dist/cli-args.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/client/instrumentation-client-inject.js.map +0 -1
- package/dist/client/instrumentation-client-state.js.map +0 -1
- package/dist/client/instrumentation-client.js.map +0 -1
- package/dist/client/navigation-runtime.js.map +0 -1
- package/dist/client/pages-router-link-navigation.js.map +0 -1
- package/dist/client/validate-module-path.js.map +0 -1
- package/dist/client/vinext-next-data.js.map +0 -1
- package/dist/client/window-next.js.map +0 -1
- package/dist/cloudflare/kv-cache-handler.js.map +0 -1
- package/dist/cloudflare/tpr.js.map +0 -1
- package/dist/config/config-matchers.js.map +0 -1
- package/dist/config/dotenv.js.map +0 -1
- package/dist/config/next-config.js.map +0 -1
- package/dist/config/tsconfig-paths.js.map +0 -1
- package/dist/deploy.js.map +0 -1
- package/dist/entries/app-browser-entry.js.map +0 -1
- package/dist/entries/app-rsc-entry.js.map +0 -1
- package/dist/entries/app-rsc-manifest.js.map +0 -1
- package/dist/entries/app-ssr-entry.js.map +0 -1
- package/dist/entries/pages-client-entry.js.map +0 -1
- package/dist/entries/pages-entry-helpers.js.map +0 -1
- package/dist/entries/pages-server-entry.js.map +0 -1
- package/dist/entries/runtime-entry-module.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init.js.map +0 -1
- package/dist/plugins/async-hooks-stub.js.map +0 -1
- package/dist/plugins/client-reference-dedup.js.map +0 -1
- package/dist/plugins/css-data-url.js.map +0 -1
- package/dist/plugins/fonts.js.map +0 -1
- package/dist/plugins/import-meta-url.js.map +0 -1
- package/dist/plugins/instrumentation-client.js.map +0 -1
- package/dist/plugins/middleware-server-only.js.map +0 -1
- package/dist/plugins/og-assets.js.map +0 -1
- package/dist/plugins/optimize-imports.js.map +0 -1
- package/dist/plugins/postcss.js.map +0 -1
- package/dist/plugins/remove-console.js.map +0 -1
- package/dist/plugins/rsc-client-reference-loaders.js.map +0 -1
- package/dist/plugins/rsc-client-shim-excludes.js.map +0 -1
- package/dist/plugins/sass.js.map +0 -1
- package/dist/plugins/server-externals-manifest.js.map +0 -1
- package/dist/plugins/strip-server-exports.js.map +0 -1
- package/dist/routing/app-route-graph.js.map +0 -1
- package/dist/routing/app-router.js.map +0 -1
- package/dist/routing/file-matcher.js.map +0 -1
- package/dist/routing/pages-router.js.map +0 -1
- package/dist/routing/route-matching.js.map +0 -1
- package/dist/routing/route-pattern.js.map +0 -1
- package/dist/routing/route-trie.js.map +0 -1
- package/dist/routing/route-validation.js.map +0 -1
- package/dist/routing/utils.js.map +0 -1
- package/dist/server/api-handler.js.map +0 -1
- package/dist/server/app-browser-action-result.js.map +0 -1
- package/dist/server/app-browser-entry.js.map +0 -1
- package/dist/server/app-browser-error.js.map +0 -1
- package/dist/server/app-browser-hydration.js.map +0 -1
- package/dist/server/app-browser-interception-context.js.map +0 -1
- package/dist/server/app-browser-mpa-navigation.js.map +0 -1
- package/dist/server/app-browser-navigation-controller.js.map +0 -1
- package/dist/server/app-browser-popstate.js.map +0 -1
- package/dist/server/app-browser-rsc-redirect.js.map +0 -1
- package/dist/server/app-browser-state.js.map +0 -1
- package/dist/server/app-browser-stream.js.map +0 -1
- package/dist/server/app-browser-visible-commit.js.map +0 -1
- package/dist/server/app-client-reference-preloader.js.map +0 -1
- package/dist/server/app-elements-wire.js.map +0 -1
- package/dist/server/app-elements.js.map +0 -1
- package/dist/server/app-fallback-renderer.js.map +0 -1
- package/dist/server/app-history-state.js.map +0 -1
- package/dist/server/app-hook-warning-suppression.js.map +0 -1
- package/dist/server/app-inline-css-client.js.map +0 -1
- package/dist/server/app-interception-context-header.js.map +0 -1
- package/dist/server/app-layout-param-observation.js.map +0 -1
- package/dist/server/app-middleware.js.map +0 -1
- package/dist/server/app-mounted-slots-header.js.map +0 -1
- package/dist/server/app-optimistic-routing.js.map +0 -1
- package/dist/server/app-page-boundary-render.js.map +0 -1
- package/dist/server/app-page-boundary.js.map +0 -1
- package/dist/server/app-page-cache.js.map +0 -1
- package/dist/server/app-page-dispatch.js.map +0 -1
- package/dist/server/app-page-element-builder.js.map +0 -1
- package/dist/server/app-page-execution.js.map +0 -1
- package/dist/server/app-page-head.js.map +0 -1
- package/dist/server/app-page-method.js.map +0 -1
- package/dist/server/app-page-params.js.map +0 -1
- package/dist/server/app-page-probe.js.map +0 -1
- package/dist/server/app-page-render-identity.js.map +0 -1
- package/dist/server/app-page-render-observation.js.map +0 -1
- package/dist/server/app-page-render.js.map +0 -1
- package/dist/server/app-page-request.js.map +0 -1
- package/dist/server/app-page-response.js.map +0 -1
- package/dist/server/app-page-route-wiring.js.map +0 -1
- package/dist/server/app-page-segment-state.js.map +0 -1
- package/dist/server/app-page-stream.js.map +0 -1
- package/dist/server/app-post-middleware-context.js.map +0 -1
- package/dist/server/app-prerender-endpoints.js.map +0 -1
- package/dist/server/app-prerender-static-params.js.map +0 -1
- package/dist/server/app-render-dependency.js.map +0 -1
- package/dist/server/app-request-context.js.map +0 -1
- package/dist/server/app-route-handler-cache.js.map +0 -1
- package/dist/server/app-route-handler-dispatch.js.map +0 -1
- package/dist/server/app-route-handler-execution.js.map +0 -1
- package/dist/server/app-route-handler-policy.js.map +0 -1
- package/dist/server/app-route-handler-response.js.map +0 -1
- package/dist/server/app-route-handler-runtime.js.map +0 -1
- package/dist/server/app-router-entry.js.map +0 -1
- package/dist/server/app-rsc-cache-busting.js.map +0 -1
- package/dist/server/app-rsc-embedded-chunks.js.map +0 -1
- package/dist/server/app-rsc-error-handler.js.map +0 -1
- package/dist/server/app-rsc-errors.js.map +0 -1
- package/dist/server/app-rsc-handler.js.map +0 -1
- package/dist/server/app-rsc-render-mode.js.map +0 -1
- package/dist/server/app-rsc-request-normalization.js.map +0 -1
- package/dist/server/app-rsc-response-finalizer.js.map +0 -1
- package/dist/server/app-rsc-route-matching.js.map +0 -1
- package/dist/server/app-segment-config.js.map +0 -1
- package/dist/server/app-server-action-execution.js.map +0 -1
- package/dist/server/app-ssr-entry.js.map +0 -1
- package/dist/server/app-ssr-error-meta.js.map +0 -1
- package/dist/server/app-ssr-stream.js.map +0 -1
- package/dist/server/app-static-generation.js.map +0 -1
- package/dist/server/artifact-compatibility.js.map +0 -1
- package/dist/server/cache-control.js.map +0 -1
- package/dist/server/cache-headers.js.map +0 -1
- package/dist/server/cache-proof.js.map +0 -1
- package/dist/server/client-reuse-manifest.js.map +0 -1
- package/dist/server/client-trace-metadata.js.map +0 -1
- package/dist/server/cookie-utils.js.map +0 -1
- package/dist/server/csp.js.map +0 -1
- package/dist/server/default-global-error-module.js.map +0 -1
- package/dist/server/default-not-found-module.js.map +0 -1
- package/dist/server/dev-error-overlay-store.js.map +0 -1
- package/dist/server/dev-error-overlay.js.map +0 -1
- package/dist/server/dev-lockfile.js.map +0 -1
- package/dist/server/dev-module-runner.js.map +0 -1
- package/dist/server/dev-origin-check.js.map +0 -1
- package/dist/server/dev-route-files.js.map +0 -1
- package/dist/server/dev-server.js.map +0 -1
- package/dist/server/document-initial-head.js.map +0 -1
- package/dist/server/edge-api-runtime.js.map +0 -1
- package/dist/server/file-based-metadata.js.map +0 -1
- package/dist/server/headers.js.map +0 -1
- package/dist/server/html.js.map +0 -1
- package/dist/server/http-error-responses.js.map +0 -1
- package/dist/server/image-optimization.js.map +0 -1
- package/dist/server/implicit-tags.js.map +0 -1
- package/dist/server/instrumentation-runtime.js.map +0 -1
- package/dist/server/instrumentation.js.map +0 -1
- package/dist/server/isr-cache.js.map +0 -1
- package/dist/server/metadata-route-build-data.js.map +0 -1
- package/dist/server/metadata-route-response.js.map +0 -1
- package/dist/server/metadata-routes.js.map +0 -1
- package/dist/server/middleware-matcher.js.map +0 -1
- package/dist/server/middleware-request-headers.js.map +0 -1
- package/dist/server/middleware-response-headers.js.map +0 -1
- package/dist/server/middleware-runtime.js.map +0 -1
- package/dist/server/middleware.js.map +0 -1
- package/dist/server/navigation-planner.js.map +0 -1
- package/dist/server/navigation-trace.js.map +0 -1
- package/dist/server/next-error-digest.js.map +0 -1
- package/dist/server/normalize-path.js.map +0 -1
- package/dist/server/pages-api-route.js.map +0 -1
- package/dist/server/pages-body-parser-config.js.map +0 -1
- package/dist/server/pages-data-route.js.map +0 -1
- package/dist/server/pages-default-404.js.map +0 -1
- package/dist/server/pages-document-initial-props.js.map +0 -1
- package/dist/server/pages-i18n.js.map +0 -1
- package/dist/server/pages-media-type.js.map +0 -1
- package/dist/server/pages-node-compat.js.map +0 -1
- package/dist/server/pages-page-data.js.map +0 -1
- package/dist/server/pages-page-method.js.map +0 -1
- package/dist/server/pages-page-response.js.map +0 -1
- package/dist/server/pages-serializable-props.js.map +0 -1
- package/dist/server/prerender-route-params.js.map +0 -1
- package/dist/server/prerender-work-unit-setup.js.map +0 -1
- package/dist/server/prod-server.js.map +0 -1
- package/dist/server/proxy-trust.js.map +0 -1
- package/dist/server/request-log.js.map +0 -1
- package/dist/server/request-pipeline.js.map +0 -1
- package/dist/server/rsc-stream-hints.js.map +0 -1
- package/dist/server/seed-cache.js.map +0 -1
- package/dist/server/server-action-not-found.js.map +0 -1
- package/dist/server/server-globals.js.map +0 -1
- package/dist/server/skip-cache-proof.js.map +0 -1
- package/dist/server/socket-error-backstop.js.map +0 -1
- package/dist/server/static-file-cache.js.map +0 -1
- package/dist/server/static-layout-client-reuse-proof.js.map +0 -1
- package/dist/server/streaming-metadata.js.map +0 -1
- package/dist/server/worker-utils.js.map +0 -1
- package/dist/shims/amp.js.map +0 -1
- package/dist/shims/app-router-scroll-state.js.map +0 -1
- package/dist/shims/app-router-scroll.js.map +0 -1
- package/dist/shims/app.js.map +0 -1
- package/dist/shims/before-interactive-context.js.map +0 -1
- package/dist/shims/cache-for-request.js.map +0 -1
- package/dist/shims/cache-runtime.js.map +0 -1
- package/dist/shims/cache.js.map +0 -1
- package/dist/shims/client-hook-error.js.map +0 -1
- package/dist/shims/client-locale.js.map +0 -1
- package/dist/shims/compat-router.js.map +0 -1
- package/dist/shims/config.js.map +0 -1
- package/dist/shims/constants.js.map +0 -1
- package/dist/shims/default-global-error.js.map +0 -1
- package/dist/shims/default-not-found.js.map +0 -1
- package/dist/shims/document.js.map +0 -1
- package/dist/shims/dynamic.js.map +0 -1
- package/dist/shims/error-boundary.js.map +0 -1
- package/dist/shims/error.js.map +0 -1
- package/dist/shims/fetch-cache.js.map +0 -1
- package/dist/shims/font-google-base.js.map +0 -1
- package/dist/shims/font-local.js.map +0 -1
- package/dist/shims/font-utils.js.map +0 -1
- package/dist/shims/form.js.map +0 -1
- package/dist/shims/hash-scroll.js.map +0 -1
- package/dist/shims/head-state.js.map +0 -1
- package/dist/shims/head.js.map +0 -1
- package/dist/shims/headers.js.map +0 -1
- package/dist/shims/i18n-context.js.map +0 -1
- package/dist/shims/i18n-state.js.map +0 -1
- package/dist/shims/image-config.js.map +0 -1
- package/dist/shims/image.js.map +0 -1
- package/dist/shims/internal/als-registry.js.map +0 -1
- package/dist/shims/internal/app-route-detection.js.map +0 -1
- package/dist/shims/internal/app-router-context.js.map +0 -1
- package/dist/shims/internal/cookie-serialize.js.map +0 -1
- package/dist/shims/internal/make-hanging-promise.js.map +0 -1
- package/dist/shims/internal/pages-data-fetch-dedup.js.map +0 -1
- package/dist/shims/internal/pages-data-target.js.map +0 -1
- package/dist/shims/internal/pages-data-url.js.map +0 -1
- package/dist/shims/internal/parse-cookie-header.js.map +0 -1
- package/dist/shims/internal/router-context.js.map +0 -1
- package/dist/shims/internal/utils.js.map +0 -1
- package/dist/shims/internal/work-unit-async-storage.js.map +0 -1
- package/dist/shims/layout-segment-context.js.map +0 -1
- package/dist/shims/legacy-image.js.map +0 -1
- package/dist/shims/link-prefetch.js.map +0 -1
- package/dist/shims/link.js.map +0 -1
- package/dist/shims/metadata.js.map +0 -1
- package/dist/shims/navigation-state.js.map +0 -1
- package/dist/shims/navigation.js.map +0 -1
- package/dist/shims/navigation.react-server.js.map +0 -1
- package/dist/shims/offline.js.map +0 -1
- package/dist/shims/og.js.map +0 -1
- package/dist/shims/pages-router-runtime.js.map +0 -1
- package/dist/shims/readonly-url-search-params.js.map +0 -1
- package/dist/shims/request-context.js.map +0 -1
- package/dist/shims/root-params.js.map +0 -1
- package/dist/shims/router-state.js.map +0 -1
- package/dist/shims/router.js.map +0 -1
- package/dist/shims/script-nonce-context.js.map +0 -1
- package/dist/shims/script.js.map +0 -1
- package/dist/shims/server.js.map +0 -1
- package/dist/shims/slot.js.map +0 -1
- package/dist/shims/thenable-params.js.map +0 -1
- package/dist/shims/unified-request-context.js.map +0 -1
- package/dist/shims/unrecognized-action-error.js.map +0 -1
- package/dist/shims/url-safety.js.map +0 -1
- package/dist/shims/url-utils.js.map +0 -1
- package/dist/shims/use-merged-ref.js.map +0 -1
- package/dist/shims/web-vitals.js.map +0 -1
- package/dist/typegen.js.map +0 -1
- package/dist/utils/asset-prefix.js.map +0 -1
- package/dist/utils/base-path.js.map +0 -1
- package/dist/utils/cache-control-metadata.js.map +0 -1
- package/dist/utils/client-build-manifest.js.map +0 -1
- package/dist/utils/domain-locale.js.map +0 -1
- package/dist/utils/encode-cache-tag.js.map +0 -1
- package/dist/utils/error-cause.js.map +0 -1
- package/dist/utils/hash.js.map +0 -1
- package/dist/utils/html-limited-bots.js.map +0 -1
- package/dist/utils/lazy-chunks.js.map +0 -1
- package/dist/utils/manifest-paths.js.map +0 -1
- package/dist/utils/mdx-scan.js.map +0 -1
- package/dist/utils/navigation-signal.js.map +0 -1
- package/dist/utils/path.js.map +0 -1
- package/dist/utils/prerender-output-paths.js.map +0 -1
- package/dist/utils/project.js.map +0 -1
- package/dist/utils/public-routes.js.map +0 -1
- package/dist/utils/query.js.map +0 -1
- package/dist/utils/record.js.map +0 -1
- package/dist/utils/safe-json-file.js.map +0 -1
- package/dist/utils/sorted-array.js.map +0 -1
- package/dist/utils/text-stream.js.map +0 -1
- package/dist/utils/vinext-root.js.map +0 -1
- package/dist/utils/vite-version.js.map +0 -1
package/dist/deploy.js
CHANGED
|
@@ -259,28 +259,29 @@ function generateWranglerConfig(info) {
|
|
|
259
259
|
images: { binding: "IMAGES" }
|
|
260
260
|
};
|
|
261
261
|
if (info.hasISR) config.kv_namespaces = [{
|
|
262
|
-
binding: "
|
|
262
|
+
binding: "VINEXT_KV_CACHE",
|
|
263
263
|
id: "<your-kv-namespace-id>"
|
|
264
264
|
}];
|
|
265
265
|
return JSON.stringify(config, null, 2) + "\n";
|
|
266
266
|
}
|
|
267
267
|
/** Generate worker/index.ts for App Router */
|
|
268
|
-
function generateAppRouterWorkerEntry(
|
|
268
|
+
function generateAppRouterWorkerEntry() {
|
|
269
269
|
return `/**
|
|
270
270
|
* Cloudflare Worker entry point — auto-generated by vinext deploy.
|
|
271
271
|
* Edit freely or delete to regenerate on next deploy.
|
|
272
272
|
*
|
|
273
|
+
* Cache backends (data + page ISR) are configured declaratively in
|
|
274
|
+
* vite.config via the vinext({ cache }) option.
|
|
275
|
+
*
|
|
273
276
|
* For apps without image optimization, you can use vinext/server/app-router-entry
|
|
274
277
|
* directly in wrangler.jsonc: "main": "vinext/server/app-router-entry"
|
|
275
278
|
*/
|
|
276
279
|
import { handleImageOptimization, DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, isImageOptimizationPath } from "vinext/server/image-optimization";
|
|
277
280
|
import type { ImageConfig } from "vinext/server/image-optimization";
|
|
278
281
|
import handler from "vinext/server/app-router-entry";
|
|
279
|
-
|
|
280
|
-
import { setCacheHandler } from "vinext/shims/cache";
|
|
281
|
-
` : ""}
|
|
282
|
+
|
|
282
283
|
interface Env {
|
|
283
|
-
ASSETS: Fetcher
|
|
284
|
+
ASSETS: Fetcher;
|
|
284
285
|
IMAGES: {
|
|
285
286
|
input(stream: ReadableStream): {
|
|
286
287
|
transform(options: Record<string, unknown>): {
|
|
@@ -303,11 +304,7 @@ interface ExecutionContext {
|
|
|
303
304
|
|
|
304
305
|
export default {
|
|
305
306
|
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
|
|
306
|
-
|
|
307
|
-
// registers ctx in ALS so background KV puts use waitUntil — without
|
|
308
|
-
// this every request would return MISS.
|
|
309
|
-
setCacheHandler(new KVCacheHandler(env.VINEXT_CACHE));
|
|
310
|
-
` : ""} const url = new URL(request.url);
|
|
307
|
+
const url = new URL(request.url);
|
|
311
308
|
|
|
312
309
|
// Image optimization via Cloudflare Images binding.
|
|
313
310
|
// The parseImageParams validation inside handleImageOptimization
|
|
@@ -337,31 +334,19 @@ function generatePagesRouterWorkerEntry() {
|
|
|
337
334
|
* Cloudflare Worker entry point -- auto-generated by vinext deploy.
|
|
338
335
|
* Edit freely or delete to regenerate on next deploy.
|
|
339
336
|
*/
|
|
337
|
+
import { runPagesRequest } from "vinext/server/pages-request-pipeline";
|
|
338
|
+
import type { PagesPipelineDeps } from "vinext/server/pages-request-pipeline";
|
|
340
339
|
import { handleImageOptimization, DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, isImageOptimizationPath } from "vinext/server/image-optimization";
|
|
341
340
|
import type { ImageConfig } from "vinext/server/image-optimization";
|
|
342
|
-
import {
|
|
343
|
-
matchRedirect,
|
|
344
|
-
matchRewrite,
|
|
345
|
-
requestContextFromRequest,
|
|
346
|
-
applyMiddlewareRequestHeaders,
|
|
347
|
-
isExternalUrl,
|
|
348
|
-
proxyExternalRequest,
|
|
349
|
-
sanitizeDestination,
|
|
350
|
-
} from "vinext/config/config-matchers";
|
|
351
|
-
import {
|
|
352
|
-
applyConfigHeadersToHeaderRecord,
|
|
353
|
-
cloneRequestWithHeaders,
|
|
354
|
-
filterInternalHeaders,
|
|
355
|
-
isOpenRedirectShaped,
|
|
356
|
-
normalizeTrailingSlash,
|
|
357
|
-
} from "vinext/server/request-pipeline";
|
|
341
|
+
import { cloneRequestWithHeaders, filterInternalHeaders, isOpenRedirectShaped } from "vinext/server/request-pipeline";
|
|
358
342
|
import { notFoundStaticAssetResponse } from "vinext/server/http-error-responses";
|
|
359
343
|
import { assetPrefixPathname, isNextStaticPath } from "vinext/utils/asset-prefix";
|
|
360
|
-
import {
|
|
361
|
-
import { mergeRewriteQuery } from "vinext/utils/query";
|
|
344
|
+
import { hasBasePath, stripBasePath } from "vinext/utils/base-path";
|
|
362
345
|
|
|
363
346
|
// @ts-expect-error -- virtual module resolved by vinext at build time
|
|
364
347
|
import { renderPage, handleApiRoute, runMiddleware, vinextConfig, matchPageRoute } from "virtual:vinext-server-entry";
|
|
348
|
+
// @ts-expect-error -- virtual module resolved by vinext at build time
|
|
349
|
+
import { registerConfiguredCacheAdapters } from "virtual:vinext-cache-adapters";
|
|
365
350
|
|
|
366
351
|
interface Env {
|
|
367
352
|
ASSETS: Fetcher;
|
|
@@ -394,22 +379,13 @@ const imageConfig: ImageConfig | undefined = vinextConfig?.images ? {
|
|
|
394
379
|
contentSecurityPolicy: vinextConfig.images.contentSecurityPolicy,
|
|
395
380
|
} : undefined;
|
|
396
381
|
|
|
397
|
-
function hasBasePath(pathname: string, basePath: string): boolean {
|
|
398
|
-
if (!basePath) return false;
|
|
399
|
-
return pathname === basePath || pathname.startsWith(basePath + "/");
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
function stripBasePath(pathname: string, basePath: string): string {
|
|
403
|
-
if (!hasBasePath(pathname, basePath)) return pathname;
|
|
404
|
-
return pathname.slice(basePath.length) || "/";
|
|
405
|
-
}
|
|
406
|
-
|
|
407
382
|
export default {
|
|
408
383
|
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
|
|
384
|
+
// Pass the Worker \`env\` so binding-backed adapters (e.g. KV) resolve.
|
|
385
|
+
registerConfiguredCacheAdapters(env);
|
|
409
386
|
try {
|
|
410
387
|
const url = new URL(request.url);
|
|
411
388
|
let pathname = url.pathname;
|
|
412
|
-
let urlWithQuery = pathname + url.search;
|
|
413
389
|
|
|
414
390
|
// Block protocol-relative URL open redirects in all shapes:
|
|
415
391
|
// literal //evil.com, /\\\\evil.com
|
|
@@ -452,11 +428,12 @@ export default {
|
|
|
452
428
|
{
|
|
453
429
|
const stripped = stripBasePath(pathname, basePath);
|
|
454
430
|
if (stripped !== pathname) {
|
|
455
|
-
|
|
431
|
+
const strippedUrl = new URL(request.url);
|
|
432
|
+
strippedUrl.pathname = stripped;
|
|
433
|
+
request = new Request(strippedUrl, request);
|
|
456
434
|
pathname = stripped;
|
|
457
435
|
}
|
|
458
436
|
}
|
|
459
|
-
const basePathState = { basePath, hadBasePath };
|
|
460
437
|
|
|
461
438
|
// ── Image optimization via Cloudflare Images binding ──────────
|
|
462
439
|
// Checked after basePath stripping so /<basePath>/_next/image works.
|
|
@@ -471,291 +448,43 @@ export default {
|
|
|
471
448
|
}, allowedWidths, imageConfig);
|
|
472
449
|
}
|
|
473
450
|
|
|
474
|
-
//
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
// x-middleware-request-* headers are unpacked into request.
|
|
504
|
-
const reqCtx = requestContextFromRequest(request);
|
|
505
|
-
|
|
506
|
-
// Default-locale path normalisation (issue #1336, item 4). Mirrors
|
|
507
|
-
// Next.js's resolve-routes.ts: every request without a locale prefix
|
|
508
|
-
// gets the (domain-aware) default locale prepended before config rule
|
|
509
|
-
// matching so that locale-aware rules with :locale placeholders or
|
|
510
|
-
// locale: false overrides still match default-locale URLs.
|
|
511
|
-
const matchPathname = i18nConfig
|
|
512
|
-
? normalizeDefaultLocalePathname(pathname, i18nConfig, {
|
|
513
|
-
hostname: url.hostname,
|
|
514
|
-
})
|
|
515
|
-
: pathname;
|
|
516
|
-
|
|
517
|
-
// ── 3. Apply redirects from next.config.js ────────────────────
|
|
518
|
-
if (configRedirects.length) {
|
|
519
|
-
const redirect = matchRedirect(matchPathname, configRedirects, reqCtx, basePathState);
|
|
520
|
-
if (redirect) {
|
|
521
|
-
// Only prepend basePath when the request was actually under basePath.
|
|
522
|
-
// Opt-out rules running on out-of-basepath requests must not receive
|
|
523
|
-
// a basePath prefix.
|
|
524
|
-
const dest = sanitizeDestination(
|
|
525
|
-
basePath &&
|
|
526
|
-
hadBasePath &&
|
|
527
|
-
!isExternalUrl(redirect.destination) &&
|
|
528
|
-
!hasBasePath(redirect.destination, basePath)
|
|
529
|
-
? basePath + redirect.destination
|
|
530
|
-
: redirect.destination,
|
|
531
|
-
);
|
|
532
|
-
return new Response(null, {
|
|
533
|
-
status: redirect.permanent ? 308 : 307,
|
|
534
|
-
headers: { Location: dest },
|
|
535
|
-
});
|
|
536
|
-
}
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
// ── 4. Run middleware ──────────────────────────────────────────
|
|
540
|
-
let resolvedUrl = urlWithQuery;
|
|
541
|
-
const middlewareHeaders: Record<string, string | string[]> = {};
|
|
542
|
-
let middlewareRewriteStatus: number | undefined;
|
|
543
|
-
if (typeof runMiddleware === "function") {
|
|
544
|
-
const result = await runMiddleware(request, ctx, { isDataRequest });
|
|
545
|
-
|
|
546
|
-
// Bubble up waitUntil promises (e.g. Clerk telemetry/session sync)
|
|
547
|
-
if (result.waitUntilPromises?.length) {
|
|
548
|
-
for (const p of result.waitUntilPromises) {
|
|
549
|
-
ctx.waitUntil(p);
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
|
-
|
|
553
|
-
if (!result.continue) {
|
|
554
|
-
if (result.redirectUrl) {
|
|
555
|
-
const redirectHeaders = new Headers({ Location: result.redirectUrl });
|
|
556
|
-
if (result.responseHeaders) {
|
|
557
|
-
for (const [key, value] of result.responseHeaders) {
|
|
558
|
-
redirectHeaders.append(key, value);
|
|
559
|
-
}
|
|
560
|
-
}
|
|
561
|
-
return new Response(null, {
|
|
562
|
-
status: result.redirectStatus ?? 307,
|
|
563
|
-
headers: redirectHeaders,
|
|
564
|
-
});
|
|
565
|
-
}
|
|
566
|
-
if (result.response) {
|
|
567
|
-
return result.response;
|
|
568
|
-
}
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
// Collect middleware response headers to merge into final response.
|
|
572
|
-
// Use an array for Set-Cookie to preserve multiple values.
|
|
573
|
-
if (result.responseHeaders) {
|
|
574
|
-
for (const [key, value] of result.responseHeaders) {
|
|
575
|
-
if (key === "set-cookie") {
|
|
576
|
-
const existing = middlewareHeaders[key];
|
|
577
|
-
if (Array.isArray(existing)) {
|
|
578
|
-
existing.push(value);
|
|
579
|
-
} else if (existing) {
|
|
580
|
-
middlewareHeaders[key] = [existing as string, value];
|
|
581
|
-
} else {
|
|
582
|
-
middlewareHeaders[key] = [value];
|
|
583
|
-
}
|
|
584
|
-
} else {
|
|
585
|
-
middlewareHeaders[key] = value;
|
|
586
|
-
}
|
|
587
|
-
}
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
// Apply middleware rewrite
|
|
591
|
-
if (result.rewriteUrl) {
|
|
592
|
-
resolvedUrl = result.rewriteUrl;
|
|
593
|
-
}
|
|
594
|
-
|
|
595
|
-
// Apply custom status code from middleware rewrite
|
|
596
|
-
middlewareRewriteStatus = result.rewriteStatus;
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
// Unpack x-middleware-request-* headers into the actual request and strip
|
|
600
|
-
// all x-middleware-* internal signals. Rebuilds postMwReqCtx for use by
|
|
601
|
-
// beforeFiles, afterFiles, and fallback config rules (which run after
|
|
602
|
-
// middleware per the Next.js execution order).
|
|
603
|
-
const { postMwReqCtx, request: postMwReq } = applyMiddlewareRequestHeaders(middlewareHeaders, request);
|
|
604
|
-
request = postMwReq;
|
|
605
|
-
|
|
606
|
-
// Config header matching must keep using the original normalized pathname
|
|
607
|
-
// even if middleware rewrites the downstream route/render target.
|
|
608
|
-
let resolvedPathname = resolvedUrl.split("?")[0];
|
|
609
|
-
|
|
610
|
-
// ── 5. Apply custom headers from next.config.js ───────────────
|
|
611
|
-
// Config headers are additive for multi-value headers (Vary,
|
|
612
|
-
// Set-Cookie) and override for everything else. Vary values are
|
|
613
|
-
// comma-joined per HTTP spec. Set-Cookie values are accumulated
|
|
614
|
-
// as arrays (RFC 6265 forbids comma-joining cookies).
|
|
615
|
-
// Middleware headers take precedence: skip config keys already set
|
|
616
|
-
// by middleware so middleware always wins for the same key.
|
|
617
|
-
if (configHeaders.length) {
|
|
618
|
-
applyConfigHeadersToHeaderRecord(middlewareHeaders, {
|
|
619
|
-
configHeaders,
|
|
620
|
-
pathname: matchPathname,
|
|
621
|
-
requestContext: reqCtx,
|
|
622
|
-
basePathState,
|
|
623
|
-
});
|
|
624
|
-
}
|
|
625
|
-
|
|
626
|
-
if (isExternalUrl(resolvedUrl)) {
|
|
627
|
-
const proxyResponse = await proxyExternalRequest(request, resolvedUrl);
|
|
628
|
-
return mergeHeaders(proxyResponse, middlewareHeaders, undefined);
|
|
629
|
-
}
|
|
630
|
-
|
|
631
|
-
// Default-locale-normalised form of resolvedPathname for matching
|
|
632
|
-
// against next.config.js rewrites (beforeFiles, afterFiles, fallback).
|
|
633
|
-
const matchResolvedPathname = (p: string): string =>
|
|
634
|
-
i18nConfig
|
|
635
|
-
? normalizeDefaultLocalePathname(p, i18nConfig, { hostname: url.hostname })
|
|
636
|
-
: p;
|
|
637
|
-
|
|
638
|
-
// ── 6. Apply beforeFiles rewrites from next.config.js ─────────
|
|
639
|
-
let configRewriteFired = false;
|
|
640
|
-
if (configRewrites.beforeFiles?.length) {
|
|
641
|
-
const rewritten = matchRewrite(
|
|
642
|
-
matchResolvedPathname(resolvedPathname),
|
|
643
|
-
configRewrites.beforeFiles,
|
|
644
|
-
postMwReqCtx,
|
|
645
|
-
basePathState,
|
|
646
|
-
);
|
|
647
|
-
if (rewritten) {
|
|
648
|
-
if (isExternalUrl(rewritten)) {
|
|
649
|
-
return proxyExternalRequest(request, rewritten);
|
|
650
|
-
}
|
|
651
|
-
// Preserve original query params across rewrites (Next.js parity).
|
|
652
|
-
resolvedUrl = mergeRewriteQuery(resolvedUrl, rewritten);
|
|
653
|
-
resolvedPathname = resolvedUrl.split("?")[0];
|
|
654
|
-
configRewriteFired = true;
|
|
655
|
-
}
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
// Reject out-of-basePath requests that no rule rewrote. See the
|
|
659
|
-
// matching comment in prod-server.ts step 7b.
|
|
660
|
-
if (basePath && !hadBasePath && !configRewriteFired) {
|
|
661
|
-
return new Response("This page could not be found", {
|
|
662
|
-
status: 404,
|
|
663
|
-
headers: { "Content-Type": "text/html; charset=utf-8" },
|
|
664
|
-
});
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
// ── 7. API routes ─────────────────────────────────────────────
|
|
668
|
-
// Forward ctx so handlePagesApiRoute can wrap the user handler in
|
|
669
|
-
// runWithExecutionContext, making ctx.waitUntil() reachable from
|
|
670
|
-
// after() and other shims that schedule deferred work.
|
|
671
|
-
//
|
|
672
|
-
// Strip the i18n locale prefix before the /api/ check so
|
|
673
|
-
// /fr/api/ok resolves to the pages/api/ok handler (Next.js
|
|
674
|
-
// parity -- see base-server.ts's normalizeLocalePath call).
|
|
675
|
-
const apiLookupUrl = stripI18nLocaleForApiRoute(resolvedUrl, vinextConfig?.i18n ?? null);
|
|
676
|
-
const apiLookupPathname = apiLookupUrl.split("?")[0];
|
|
677
|
-
if (apiLookupPathname.startsWith("/api/") || apiLookupPathname === "/api") {
|
|
678
|
-
const response = typeof handleApiRoute === "function"
|
|
679
|
-
? await handleApiRoute(request, apiLookupUrl, ctx)
|
|
680
|
-
: new Response("404 - API route not found", { status: 404 });
|
|
681
|
-
return mergeHeaders(response, middlewareHeaders, middlewareRewriteStatus);
|
|
682
|
-
}
|
|
683
|
-
|
|
684
|
-
const pageMatch =
|
|
685
|
-
typeof matchPageRoute === "function" ? matchPageRoute(resolvedPathname, request) : null;
|
|
686
|
-
|
|
687
|
-
// ── 8. Apply afterFiles rewrites from next.config.js ──────────
|
|
688
|
-
// These run after non-dynamic page routes but before dynamic routes.
|
|
689
|
-
if ((!pageMatch || pageMatch.route.isDynamic) && configRewrites.afterFiles?.length) {
|
|
690
|
-
const rewritten = matchRewrite(
|
|
691
|
-
matchResolvedPathname(resolvedPathname),
|
|
692
|
-
configRewrites.afterFiles,
|
|
693
|
-
postMwReqCtx,
|
|
694
|
-
basePathState,
|
|
695
|
-
);
|
|
696
|
-
if (rewritten) {
|
|
697
|
-
if (isExternalUrl(rewritten)) {
|
|
698
|
-
return proxyExternalRequest(request, rewritten);
|
|
699
|
-
}
|
|
700
|
-
resolvedUrl = mergeRewriteQuery(resolvedUrl, rewritten);
|
|
701
|
-
resolvedPathname = resolvedUrl.split("?")[0];
|
|
702
|
-
}
|
|
703
|
-
}
|
|
704
|
-
|
|
705
|
-
// ── 9. Page routes ────────────────────────────────────────────
|
|
706
|
-
let response: Response | undefined;
|
|
707
|
-
if (typeof renderPage === "function") {
|
|
708
|
-
const renderPageMatch =
|
|
709
|
-
typeof matchPageRoute === "function" ? matchPageRoute(resolvedPathname, request) : null;
|
|
710
|
-
const shouldDeferErrorPageOnMiss =
|
|
711
|
-
!isDataRequest && typeof matchPageRoute === "function" && !renderPageMatch;
|
|
712
|
-
const initialRenderOptions = shouldDeferErrorPageOnMiss
|
|
713
|
-
? { renderErrorPageOnMiss: false }
|
|
714
|
-
: undefined;
|
|
715
|
-
response = await renderPage(request, resolvedUrl, null, ctx, undefined, initialRenderOptions);
|
|
716
|
-
|
|
717
|
-
// ── 10. Fallback rewrites (if SSR returned 404) ─────────────
|
|
718
|
-
let matchedFallbackRewrite = false;
|
|
719
|
-
if (
|
|
720
|
-
response &&
|
|
721
|
-
response.status === 404 &&
|
|
722
|
-
shouldDeferErrorPageOnMiss &&
|
|
723
|
-
configRewrites.fallback?.length
|
|
724
|
-
) {
|
|
725
|
-
const fallbackRewrite = matchRewrite(
|
|
726
|
-
matchResolvedPathname(resolvedPathname),
|
|
727
|
-
configRewrites.fallback,
|
|
728
|
-
postMwReqCtx,
|
|
729
|
-
basePathState,
|
|
730
|
-
);
|
|
731
|
-
if (fallbackRewrite) {
|
|
732
|
-
if (isExternalUrl(fallbackRewrite)) {
|
|
733
|
-
return proxyExternalRequest(request, fallbackRewrite);
|
|
734
|
-
}
|
|
735
|
-
matchedFallbackRewrite = true;
|
|
736
|
-
response = await renderPage(
|
|
737
|
-
request,
|
|
738
|
-
mergeRewriteQuery(resolvedUrl, fallbackRewrite),
|
|
739
|
-
null,
|
|
740
|
-
ctx,
|
|
741
|
-
);
|
|
742
|
-
}
|
|
743
|
-
}
|
|
744
|
-
if (
|
|
745
|
-
response &&
|
|
746
|
-
response.status === 404 &&
|
|
747
|
-
shouldDeferErrorPageOnMiss &&
|
|
748
|
-
!matchedFallbackRewrite
|
|
749
|
-
) {
|
|
750
|
-
response = await renderPage(request, resolvedUrl, null, ctx);
|
|
751
|
-
}
|
|
752
|
-
}
|
|
451
|
+
// Delegate the canonical 9-step Next.js pipeline to the shared owner.
|
|
452
|
+
// The worker adapter is responsible for: open-redirect guard, _next/static
|
|
453
|
+
// 404 short-circuit, header filtering, basePath stripping, and image
|
|
454
|
+
// optimization. runPagesRequest receives a clean, basePath-stripped request.
|
|
455
|
+
const deps: PagesPipelineDeps = {
|
|
456
|
+
basePath,
|
|
457
|
+
trailingSlash,
|
|
458
|
+
i18nConfig,
|
|
459
|
+
configRedirects,
|
|
460
|
+
configRewrites,
|
|
461
|
+
configHeaders,
|
|
462
|
+
hadBasePath,
|
|
463
|
+
// The worker adapter does not do _next/data URL normalization (no
|
|
464
|
+
// buildId available at request time). isDataReq is used by the pipeline
|
|
465
|
+
// only for renderPage options and shouldDeferErrorPageOnMiss -- false
|
|
466
|
+
// is correct here.
|
|
467
|
+
isDataReq: false,
|
|
468
|
+
isDataRequest,
|
|
469
|
+
ctx,
|
|
470
|
+
matchPageRoute: typeof matchPageRoute === "function" ? matchPageRoute : null,
|
|
471
|
+
runMiddleware: typeof runMiddleware === "function" ? runMiddleware : null,
|
|
472
|
+
renderPage: typeof renderPage === "function"
|
|
473
|
+
? (req, resolvedUrl, options, stagedHeaders) =>
|
|
474
|
+
renderPage(req, resolvedUrl, null, ctx, stagedHeaders, options)
|
|
475
|
+
: null,
|
|
476
|
+
handleApi: typeof handleApiRoute === "function"
|
|
477
|
+
? (req, apiUrl) => handleApiRoute(req, apiUrl, ctx)
|
|
478
|
+
: null,
|
|
479
|
+
};
|
|
753
480
|
|
|
754
|
-
|
|
755
|
-
|
|
481
|
+
const result = await runPagesRequest(request, deps);
|
|
482
|
+
if (result.type === "response") {
|
|
483
|
+
return result.response;
|
|
756
484
|
}
|
|
485
|
+
// Should not reach here for prod/worker (all callbacks supplied).
|
|
486
|
+
return new Response("This page could not be found", { status: 404 });
|
|
757
487
|
|
|
758
|
-
return mergeHeaders(response, middlewareHeaders, middlewareRewriteStatus);
|
|
759
488
|
} catch (error) {
|
|
760
489
|
console.error("[vinext] Worker error:", error);
|
|
761
490
|
return new Response("Internal Server Error", { status: 500 });
|
|
@@ -763,90 +492,6 @@ export default {
|
|
|
763
492
|
},
|
|
764
493
|
};
|
|
765
494
|
|
|
766
|
-
/**
|
|
767
|
-
* Merge middleware/config headers into a response.
|
|
768
|
-
* Response headers take precedence over middleware headers for all headers
|
|
769
|
-
* except Set-Cookie, which is additive (both middleware and response cookies
|
|
770
|
-
* are preserved). Matches the behavior in prod-server.ts. Uses getSetCookie()
|
|
771
|
-
* to preserve multiple Set-Cookie values. Keep this in sync with
|
|
772
|
-
* prod-server.ts and server/worker-utils.ts.
|
|
773
|
-
*/
|
|
774
|
-
function mergeHeaders(
|
|
775
|
-
response: Response,
|
|
776
|
-
extraHeaders: Record<string, string | string[]>,
|
|
777
|
-
statusOverride?: number,
|
|
778
|
-
): Response {
|
|
779
|
-
const NO_BODY_RESPONSE_STATUSES = new Set([204, 205, 304]);
|
|
780
|
-
function isVinextStreamedHtmlResponse(response: Response): boolean {
|
|
781
|
-
return response.__vinextStreamedHtmlResponse === true;
|
|
782
|
-
}
|
|
783
|
-
function isContentLengthHeader(name: string): boolean {
|
|
784
|
-
return name.toLowerCase() === "content-length";
|
|
785
|
-
}
|
|
786
|
-
function cancelResponseBody(response: Response): void {
|
|
787
|
-
const body = response.body;
|
|
788
|
-
if (!body || body.locked) return;
|
|
789
|
-
void body.cancel().catch(() => {
|
|
790
|
-
/* ignore cancellation failures on discarded bodies */
|
|
791
|
-
});
|
|
792
|
-
}
|
|
793
|
-
|
|
794
|
-
const status = statusOverride ?? response.status;
|
|
795
|
-
const merged = new Headers();
|
|
796
|
-
// Middleware/config headers go in first (lower precedence)
|
|
797
|
-
for (const [k, v] of Object.entries(extraHeaders)) {
|
|
798
|
-
if (isContentLengthHeader(k)) continue;
|
|
799
|
-
if (Array.isArray(v)) {
|
|
800
|
-
for (const item of v) merged.append(k, item);
|
|
801
|
-
} else {
|
|
802
|
-
merged.set(k, v);
|
|
803
|
-
}
|
|
804
|
-
}
|
|
805
|
-
// Response headers overlay them (higher precedence), except Set-Cookie
|
|
806
|
-
// which is additive (both middleware and response cookies should be sent).
|
|
807
|
-
response.headers.forEach((v, k) => {
|
|
808
|
-
if (k === "set-cookie") return;
|
|
809
|
-
merged.set(k, v);
|
|
810
|
-
});
|
|
811
|
-
const responseCookies = response.headers.getSetCookie?.() ?? [];
|
|
812
|
-
for (const cookie of responseCookies) merged.append("set-cookie", cookie);
|
|
813
|
-
|
|
814
|
-
const shouldDropBody = NO_BODY_RESPONSE_STATUSES.has(status);
|
|
815
|
-
const shouldStripStreamLength =
|
|
816
|
-
isVinextStreamedHtmlResponse(response) && merged.has("content-length");
|
|
817
|
-
|
|
818
|
-
if (
|
|
819
|
-
!Object.keys(extraHeaders).some((key) => !isContentLengthHeader(key)) &&
|
|
820
|
-
statusOverride === undefined &&
|
|
821
|
-
!shouldDropBody &&
|
|
822
|
-
!shouldStripStreamLength
|
|
823
|
-
) {
|
|
824
|
-
return response;
|
|
825
|
-
}
|
|
826
|
-
|
|
827
|
-
if (shouldDropBody) {
|
|
828
|
-
cancelResponseBody(response);
|
|
829
|
-
merged.delete("content-encoding");
|
|
830
|
-
merged.delete("content-length");
|
|
831
|
-
merged.delete("content-type");
|
|
832
|
-
merged.delete("transfer-encoding");
|
|
833
|
-
return new Response(null, {
|
|
834
|
-
status,
|
|
835
|
-
statusText: status === response.status ? response.statusText : undefined,
|
|
836
|
-
headers: merged,
|
|
837
|
-
});
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
if (shouldStripStreamLength) {
|
|
841
|
-
merged.delete("content-length");
|
|
842
|
-
}
|
|
843
|
-
|
|
844
|
-
return new Response(response.body, {
|
|
845
|
-
status,
|
|
846
|
-
statusText: status === response.status ? response.statusText : undefined,
|
|
847
|
-
headers: merged,
|
|
848
|
-
});
|
|
849
|
-
}
|
|
850
495
|
`;
|
|
851
496
|
}
|
|
852
497
|
/** Generate vite.config.ts for App Router */
|
|
@@ -980,6 +625,101 @@ function viteConfigHasCloudflarePlugin(root) {
|
|
|
980
625
|
}
|
|
981
626
|
return false;
|
|
982
627
|
}
|
|
628
|
+
/**
|
|
629
|
+
* Extract the object-literal text of the `cache:` key (the `{ ... }` passed as
|
|
630
|
+
* `vinext({ cache })`) from a Vite config source, via brace matching. Returns
|
|
631
|
+
* null if there is no `cache:` object literal.
|
|
632
|
+
*/
|
|
633
|
+
function extractCacheBlock(content) {
|
|
634
|
+
const m = /\bcache\s*:\s*\{/.exec(content);
|
|
635
|
+
if (!m) return null;
|
|
636
|
+
const open = m.index + m[0].length - 1;
|
|
637
|
+
let depth = 0;
|
|
638
|
+
for (let i = open; i < content.length; i++) {
|
|
639
|
+
const ch = content[i];
|
|
640
|
+
if (ch === "{") depth++;
|
|
641
|
+
else if (ch === "}" && --depth === 0) return content.slice(open, i + 1);
|
|
642
|
+
}
|
|
643
|
+
return null;
|
|
644
|
+
}
|
|
645
|
+
/**
|
|
646
|
+
* Whether a `cdn` / `data` field inside the cache object is assigned a real
|
|
647
|
+
* value (not absent, `undefined`, or `null`). Reads the value up to the next
|
|
648
|
+
* comma / closing brace / newline, which is enough to tell an assignment like
|
|
649
|
+
* `data: kvDataAdapter()` from `data: undefined`.
|
|
650
|
+
*/
|
|
651
|
+
function cacheFieldAssigned(cacheBlock, field) {
|
|
652
|
+
const m = new RegExp(`\\b${field}\\s*:\\s*([^,}\\n]+)`).exec(cacheBlock);
|
|
653
|
+
if (!m) return false;
|
|
654
|
+
const value = m[1].trim();
|
|
655
|
+
return value.length > 0 && value !== "undefined" && value !== "null";
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* Detect whether the Vite config assigns a CDN or data cache adapter — i.e. the
|
|
659
|
+
* `cdn` or `data` field of the `vinext({ cache })` option is given a value.
|
|
660
|
+
* This is a source-level check on those exact object fields, not a fuzzy scan
|
|
661
|
+
* for adapter names. Mirrors {@link viteConfigHasCloudflarePlugin}'s leniency:
|
|
662
|
+
* an unreadable or absent config is treated as configured so a deploy is never
|
|
663
|
+
* blocked on a false negative.
|
|
664
|
+
*/
|
|
665
|
+
function viteConfigHasCacheAdapter(root) {
|
|
666
|
+
const candidates = [
|
|
667
|
+
path.join(root, "vite.config.ts"),
|
|
668
|
+
path.join(root, "vite.config.js"),
|
|
669
|
+
path.join(root, "vite.config.mjs")
|
|
670
|
+
];
|
|
671
|
+
for (const candidate of candidates) {
|
|
672
|
+
if (!fs.existsSync(candidate)) continue;
|
|
673
|
+
let content;
|
|
674
|
+
try {
|
|
675
|
+
content = fs.readFileSync(candidate, "utf-8");
|
|
676
|
+
} catch {
|
|
677
|
+
return true;
|
|
678
|
+
}
|
|
679
|
+
const block = extractCacheBlock(content);
|
|
680
|
+
if (!block) return false;
|
|
681
|
+
return cacheFieldAssigned(block, "cdn") || cacheFieldAssigned(block, "data");
|
|
682
|
+
}
|
|
683
|
+
return true;
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* Detect whether an existing user-authored Worker entry wires up a cache
|
|
687
|
+
* backend imperatively via one of the `setCacheHandler` / `setDataCacheHandler`
|
|
688
|
+
* / `setCdnCacheAdapter` setters. These setters are deprecated in favour of the
|
|
689
|
+
* declarative `vinext({ cache })` option, but older apps that scaffolded a KV
|
|
690
|
+
* cache handler into their Worker entry must keep working — so a deploy should
|
|
691
|
+
* not be blocked when the Worker entry already configures a backend.
|
|
692
|
+
*
|
|
693
|
+
* This is a heuristic text scan (it doesn't execute the entry), mirroring
|
|
694
|
+
* {@link viteConfigHasCacheAdapter}'s leniency: an unreadable Worker entry is
|
|
695
|
+
* treated as configured so a deploy is never blocked on a false negative. A
|
|
696
|
+
* missing Worker entry returns false (nothing to inspect — defer to other
|
|
697
|
+
* checks).
|
|
698
|
+
*/
|
|
699
|
+
function workerEntryHasCacheHandler(root) {
|
|
700
|
+
const candidates = [path.join(root, "worker", "index.ts"), path.join(root, "worker", "index.js")];
|
|
701
|
+
for (const candidate of candidates) {
|
|
702
|
+
if (!fs.existsSync(candidate)) continue;
|
|
703
|
+
let content;
|
|
704
|
+
try {
|
|
705
|
+
content = fs.readFileSync(candidate, "utf-8");
|
|
706
|
+
} catch {
|
|
707
|
+
return true;
|
|
708
|
+
}
|
|
709
|
+
return /\b(?:setCacheHandler|setDataCacheHandler|setCdnCacheAdapter)\s*\(/.test(content);
|
|
710
|
+
}
|
|
711
|
+
return false;
|
|
712
|
+
}
|
|
713
|
+
/**
|
|
714
|
+
* Build the error thrown when an ISR/cached app is deployed without a cache
|
|
715
|
+
* adapter configured in the Vite config. Production deployments need a
|
|
716
|
+
* persistent cache backend; vinext no longer scaffolds one into the Worker
|
|
717
|
+
* entry, so it must be declared via `vinext({ cache })`.
|
|
718
|
+
*/
|
|
719
|
+
function formatMissingCacheAdapterError(options) {
|
|
720
|
+
const configRef = options.configFile ? options.configFile : "your Vite config";
|
|
721
|
+
return `[vinext] This app uses ISR / caching but no cache adapter is configured in ${configRef}.\n\n Production deployments need a persistent cache backend. Declare one on the\n vinext() plugin in ${configRef}:\n\n import { kvDataAdapter } from "@vinext/cloudflare/cache/kv-data-adapter";\n\n export default defineConfig({\n plugins: [\n vinext({\n cache: {\n data: kvDataAdapter(), // KV-backed data cache (binding: VINEXT_KV_CACHE)\n },\n }),\n cloudflare(),\n ],\n });\n\n The VINEXT_KV_CACHE namespace binding is added to wrangler.jsonc for you.\n Create the namespace with:\n\n npx wrangler kv namespace create VINEXT_KV_CACHE`;
|
|
722
|
+
}
|
|
983
723
|
function getFilesToGenerate(info) {
|
|
984
724
|
const files = [];
|
|
985
725
|
if (!info.hasWranglerConfig) files.push({
|
|
@@ -988,7 +728,7 @@ function getFilesToGenerate(info) {
|
|
|
988
728
|
description: "wrangler.jsonc"
|
|
989
729
|
});
|
|
990
730
|
if (!info.hasWorkerEntry) {
|
|
991
|
-
const workerContent = info.isAppRouter ? generateAppRouterWorkerEntry(
|
|
731
|
+
const workerContent = info.isAppRouter ? generateAppRouterWorkerEntry() : generatePagesRouterWorkerEntry();
|
|
992
732
|
files.push({
|
|
993
733
|
path: path.join(info.root, "worker", "index.ts"),
|
|
994
734
|
content: workerContent,
|
|
@@ -1013,7 +753,31 @@ function writeGeneratedFiles(files) {
|
|
|
1013
753
|
console.log(` Created ${file.description}`);
|
|
1014
754
|
}
|
|
1015
755
|
}
|
|
1016
|
-
|
|
756
|
+
/**
|
|
757
|
+
* Run a function with `process.env.CLOUDFLARE_ENV` set to the given value,
|
|
758
|
+
* restoring the previous state (whether set or absent) after the function
|
|
759
|
+
* resolves or throws.
|
|
760
|
+
*
|
|
761
|
+
* The `@cloudflare/vite-plugin` reads `CLOUDFLARE_ENV` from `process.env` to
|
|
762
|
+
* drive the multi-environment merge applied to the emitted `wrangler.json`.
|
|
763
|
+
* Without this propagation the `--env <name>` CLI flag is silently ignored at
|
|
764
|
+
* build time and the top-level config is emitted regardless. See issue #1210.
|
|
765
|
+
*
|
|
766
|
+
* Passing `undefined` is a no-op; the callback runs with `process.env` untouched.
|
|
767
|
+
*/
|
|
768
|
+
async function withCloudflareEnv(env, fn) {
|
|
769
|
+
if (env === void 0 || env === "") return fn();
|
|
770
|
+
const hadPrev = "CLOUDFLARE_ENV" in process.env;
|
|
771
|
+
const prev = process.env.CLOUDFLARE_ENV;
|
|
772
|
+
process.env.CLOUDFLARE_ENV = env;
|
|
773
|
+
try {
|
|
774
|
+
return await fn();
|
|
775
|
+
} finally {
|
|
776
|
+
if (hadPrev) process.env.CLOUDFLARE_ENV = prev;
|
|
777
|
+
else delete process.env.CLOUDFLARE_ENV;
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
async function runBuild(info, env) {
|
|
1017
781
|
console.log("\n Building for Cloudflare Workers...\n");
|
|
1018
782
|
let vitePath;
|
|
1019
783
|
try {
|
|
@@ -1022,7 +786,9 @@ async function runBuild(info) {
|
|
|
1022
786
|
vitePath = "vite";
|
|
1023
787
|
}
|
|
1024
788
|
const { createBuilder } = await (vitePath === "vite" ? import(vitePath) : import(pathToFileURL(vitePath).href));
|
|
1025
|
-
await (
|
|
789
|
+
await withCloudflareEnv(env, async () => {
|
|
790
|
+
await (await createBuilder({ root: info.root })).buildApp();
|
|
791
|
+
});
|
|
1026
792
|
}
|
|
1027
793
|
function buildWranglerDeployArgs(options) {
|
|
1028
794
|
const args = ["deploy"];
|
|
@@ -1127,11 +893,12 @@ async function deploy(options) {
|
|
|
1127
893
|
writeGeneratedFiles(filesToGenerate);
|
|
1128
894
|
}
|
|
1129
895
|
if (info.hasViteConfig && !viteConfigHasCloudflarePlugin(root)) throw new Error(formatMissingCloudflarePluginError({ isAppRouter: info.isAppRouter }));
|
|
896
|
+
if (info.hasISR && !viteConfigHasCacheAdapter(root) && !workerEntryHasCacheHandler(root)) throw new Error(formatMissingCacheAdapterError({}));
|
|
1130
897
|
if (options.dryRun) {
|
|
1131
898
|
console.log("\n Dry run complete. Files generated but no build or deploy performed.\n");
|
|
1132
899
|
return;
|
|
1133
900
|
}
|
|
1134
|
-
if (!options.skipBuild) await runBuild(info);
|
|
901
|
+
if (!options.skipBuild) await runBuild(info, options.env || (options.preview ? "preview" : void 0));
|
|
1135
902
|
else console.log("\n Skipping build (--skip-build)");
|
|
1136
903
|
{
|
|
1137
904
|
const nextConfig = await resolveNextConfig(await loadNextConfig(info.root), info.root);
|
|
@@ -1168,6 +935,4 @@ async function deploy(options) {
|
|
|
1168
935
|
console.log(" ─────────────────────────────────────────\n");
|
|
1169
936
|
}
|
|
1170
937
|
//#endregion
|
|
1171
|
-
export { buildWranglerDeployArgs, deploy, detectProject, ensureESModule, formatMissingCloudflarePluginError, generateAppRouterViteConfig, generateAppRouterWorkerEntry, generatePagesRouterViteConfig, generatePagesRouterWorkerEntry, generateWranglerConfig, getFilesToGenerate, getMissingDeps, hasWranglerConfig, isPackageResolvable, parseDeployArgs, renameCJSConfigs, resolveWranglerBin, viteConfigHasCloudflarePlugin };
|
|
1172
|
-
|
|
1173
|
-
//# sourceMappingURL=deploy.js.map
|
|
938
|
+
export { buildWranglerDeployArgs, deploy, detectProject, ensureESModule, formatMissingCacheAdapterError, formatMissingCloudflarePluginError, generateAppRouterViteConfig, generateAppRouterWorkerEntry, generatePagesRouterViteConfig, generatePagesRouterWorkerEntry, generateWranglerConfig, getFilesToGenerate, getMissingDeps, hasWranglerConfig, isPackageResolvable, parseDeployArgs, renameCJSConfigs, resolveWranglerBin, viteConfigHasCacheAdapter, viteConfigHasCloudflarePlugin, withCloudflareEnv, workerEntryHasCacheHandler };
|