vinext 0.0.49 → 0.0.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/client-build-config.js.map +1 -1
- package/dist/build/google-fonts/build-url.js.map +1 -1
- package/dist/build/google-fonts/get-axes.js.map +1 -1
- package/dist/build/google-fonts/sort-variants.js.map +1 -1
- package/dist/build/google-fonts/validate.js.map +1 -1
- package/dist/build/layout-classification.js.map +1 -1
- package/dist/build/nitro-route-rules.js.map +1 -1
- package/dist/build/precompress.js.map +1 -1
- package/dist/build/prerender.d.ts +17 -1
- package/dist/build/prerender.js +77 -16
- package/dist/build/prerender.js.map +1 -1
- package/dist/build/report.js.map +1 -1
- package/dist/build/route-classification-injector.js.map +1 -1
- package/dist/build/route-classification-manifest.js.map +1 -1
- package/dist/build/run-prerender.js.map +1 -1
- package/dist/build/server-manifest.js.map +1 -1
- package/dist/build/ssr-manifest.js.map +1 -1
- package/dist/build/standalone.js.map +1 -1
- package/dist/build/static-export.js.map +1 -1
- package/dist/check.js +1 -1
- package/dist/check.js.map +1 -1
- package/dist/cli-args.js.map +1 -1
- package/dist/cli.js +8 -4
- package/dist/cli.js.map +1 -1
- package/dist/client/instrumentation-client-state.js.map +1 -1
- package/dist/client/validate-module-path.js.map +1 -1
- package/dist/client/vinext-next-data.d.ts +5 -1
- package/dist/client/window-next.d.ts +149 -0
- package/dist/client/window-next.js +48 -0
- package/dist/client/window-next.js.map +1 -0
- package/dist/cloudflare/kv-cache-handler.js.map +1 -1
- package/dist/cloudflare/tpr.js +2 -1
- package/dist/cloudflare/tpr.js.map +1 -1
- package/dist/config/config-matchers.d.ts +3 -1
- package/dist/config/config-matchers.js +5 -4
- package/dist/config/config-matchers.js.map +1 -1
- package/dist/config/dotenv.js.map +1 -1
- package/dist/config/next-config.d.ts +6 -3
- package/dist/config/next-config.js +13 -2
- package/dist/config/next-config.js.map +1 -1
- package/dist/deploy.js +13 -5
- package/dist/deploy.js.map +1 -1
- package/dist/entries/app-browser-entry.d.ts +3 -1
- package/dist/entries/app-browser-entry.js +11 -2
- package/dist/entries/app-browser-entry.js.map +1 -1
- package/dist/entries/app-rsc-entry.js +11 -0
- package/dist/entries/app-rsc-entry.js.map +1 -1
- package/dist/entries/app-rsc-manifest.js +4 -0
- package/dist/entries/app-rsc-manifest.js.map +1 -1
- package/dist/entries/app-ssr-entry.js.map +1 -1
- package/dist/entries/pages-client-entry.js.map +1 -1
- package/dist/entries/pages-entry-helpers.js.map +1 -1
- package/dist/entries/pages-server-entry.js +15 -0
- package/dist/entries/pages-server-entry.js.map +1 -1
- package/dist/entries/runtime-entry-module.js.map +1 -1
- package/dist/index.js +76 -18
- package/dist/index.js.map +1 -1
- package/dist/init.js.map +1 -1
- package/dist/plugins/async-hooks-stub.js.map +1 -1
- package/dist/plugins/client-reference-dedup.js.map +1 -1
- package/dist/plugins/fonts.js.map +1 -1
- package/dist/plugins/instrumentation-client.js.map +1 -1
- package/dist/plugins/og-assets.js.map +1 -1
- package/dist/plugins/optimize-imports.js.map +1 -1
- package/dist/plugins/postcss.js.map +1 -1
- package/dist/plugins/rsc-client-reference-loaders.d.ts +7 -0
- package/dist/plugins/rsc-client-reference-loaders.js +48 -0
- package/dist/plugins/rsc-client-reference-loaders.js.map +1 -0
- package/dist/plugins/rsc-client-shim-excludes.js.map +1 -1
- package/dist/plugins/server-externals-manifest.js.map +1 -1
- package/dist/plugins/strip-server-exports.js.map +1 -1
- package/dist/routing/app-route-graph.d.ts +48 -5
- package/dist/routing/app-route-graph.js +159 -15
- package/dist/routing/app-route-graph.js.map +1 -1
- package/dist/routing/app-router.js.map +1 -1
- package/dist/routing/file-matcher.js.map +1 -1
- package/dist/routing/pages-router.js.map +1 -1
- package/dist/routing/route-matching.js.map +1 -1
- package/dist/routing/route-pattern.js.map +1 -1
- package/dist/routing/route-trie.js.map +1 -1
- package/dist/routing/route-validation.js.map +1 -1
- package/dist/routing/utils.js.map +1 -1
- package/dist/server/api-handler.js.map +1 -1
- package/dist/server/app-browser-action-result.d.ts +19 -0
- package/dist/server/app-browser-action-result.js +18 -0
- package/dist/server/app-browser-action-result.js.map +1 -0
- package/dist/server/app-browser-entry.js +91 -48
- package/dist/server/app-browser-entry.js.map +1 -1
- package/dist/server/app-browser-error.js.map +1 -1
- package/dist/server/app-browser-hydration.d.ts +19 -0
- package/dist/server/app-browser-hydration.js +22 -0
- package/dist/server/app-browser-hydration.js.map +1 -0
- package/dist/server/app-browser-navigation-controller.d.ts +6 -3
- package/dist/server/app-browser-navigation-controller.js +67 -19
- package/dist/server/app-browser-navigation-controller.js.map +1 -1
- package/dist/server/app-browser-state.d.ts +17 -17
- package/dist/server/app-browser-state.js +122 -36
- package/dist/server/app-browser-state.js.map +1 -1
- package/dist/server/app-browser-stream.d.ts +4 -0
- package/dist/server/app-browser-stream.js +24 -2
- package/dist/server/app-browser-stream.js.map +1 -1
- package/dist/server/app-browser-visible-commit.d.ts +6 -1
- package/dist/server/app-browser-visible-commit.js +34 -19
- package/dist/server/app-browser-visible-commit.js.map +1 -1
- package/dist/server/app-client-reference-preloader.js.map +1 -1
- package/dist/server/app-elements-wire.d.ts +6 -1
- package/dist/server/app-elements-wire.js +17 -1
- package/dist/server/app-elements-wire.js.map +1 -1
- package/dist/server/app-elements.d.ts +2 -2
- package/dist/server/app-elements.js +2 -2
- package/dist/server/app-elements.js.map +1 -1
- package/dist/server/app-fallback-renderer.js.map +1 -1
- package/dist/server/app-hook-warning-suppression.js.map +1 -1
- package/dist/server/app-middleware.d.ts +1 -1
- package/dist/server/app-middleware.js +4 -9
- package/dist/server/app-middleware.js.map +1 -1
- package/dist/server/app-mounted-slots-header.js.map +1 -1
- package/dist/server/app-page-boundary-render.d.ts +1 -0
- package/dist/server/app-page-boundary-render.js +14 -13
- package/dist/server/app-page-boundary-render.js.map +1 -1
- package/dist/server/app-page-boundary.d.ts +1 -0
- package/dist/server/app-page-boundary.js +7 -5
- package/dist/server/app-page-boundary.js.map +1 -1
- package/dist/server/app-page-cache.d.ts +10 -3
- package/dist/server/app-page-cache.js +42 -23
- package/dist/server/app-page-cache.js.map +1 -1
- package/dist/server/app-page-dispatch.d.ts +6 -1
- package/dist/server/app-page-dispatch.js +21 -7
- package/dist/server/app-page-dispatch.js.map +1 -1
- package/dist/server/app-page-element-builder.d.ts +3 -1
- package/dist/server/app-page-element-builder.js +6 -2
- package/dist/server/app-page-element-builder.js.map +1 -1
- package/dist/server/app-page-execution.js.map +1 -1
- package/dist/server/app-page-head.js +4 -0
- package/dist/server/app-page-head.js.map +1 -1
- package/dist/server/app-page-method.js.map +1 -1
- package/dist/server/app-page-params.js.map +1 -1
- package/dist/server/app-page-probe.js.map +1 -1
- package/dist/server/app-page-render.d.ts +7 -1
- package/dist/server/app-page-render.js +11 -4
- package/dist/server/app-page-render.js.map +1 -1
- package/dist/server/app-page-request.js +2 -1
- package/dist/server/app-page-request.js.map +1 -1
- package/dist/server/app-page-response.d.ts +2 -0
- package/dist/server/app-page-response.js +15 -5
- package/dist/server/app-page-response.js.map +1 -1
- package/dist/server/app-page-route-wiring.d.ts +6 -2
- package/dist/server/app-page-route-wiring.js +50 -49
- package/dist/server/app-page-route-wiring.js.map +1 -1
- package/dist/server/app-page-segment-state.d.ts +10 -0
- package/dist/server/app-page-segment-state.js +87 -0
- package/dist/server/app-page-segment-state.js.map +1 -0
- package/dist/server/app-page-stream.d.ts +7 -2
- package/dist/server/app-page-stream.js +3 -1
- package/dist/server/app-page-stream.js.map +1 -1
- package/dist/server/app-post-middleware-context.js.map +1 -1
- package/dist/server/app-prerender-endpoints.js.map +1 -1
- package/dist/server/app-prerender-static-params.js.map +1 -1
- package/dist/server/app-render-dependency.js.map +1 -1
- package/dist/server/app-request-context.js.map +1 -1
- package/dist/server/app-route-handler-cache.js.map +1 -1
- package/dist/server/app-route-handler-dispatch.js +3 -1
- package/dist/server/app-route-handler-dispatch.js.map +1 -1
- package/dist/server/app-route-handler-execution.js.map +1 -1
- package/dist/server/app-route-handler-policy.js +1 -0
- package/dist/server/app-route-handler-policy.js.map +1 -1
- package/dist/server/app-route-handler-response.js +4 -3
- package/dist/server/app-route-handler-response.js.map +1 -1
- package/dist/server/app-route-handler-runtime.js.map +1 -1
- package/dist/server/app-router-entry.js +6 -2
- package/dist/server/app-router-entry.js.map +1 -1
- package/dist/server/app-rsc-cache-busting.d.ts +5 -2
- package/dist/server/app-rsc-cache-busting.js +40 -19
- package/dist/server/app-rsc-cache-busting.js.map +1 -1
- package/dist/server/app-rsc-error-handler.js.map +1 -1
- package/dist/server/app-rsc-errors.js.map +1 -1
- package/dist/server/app-rsc-handler.d.ts +10 -1
- package/dist/server/app-rsc-handler.js +51 -17
- package/dist/server/app-rsc-handler.js.map +1 -1
- package/dist/server/app-rsc-render-mode.d.ts +11 -0
- package/dist/server/app-rsc-render-mode.js +21 -0
- package/dist/server/app-rsc-render-mode.js.map +1 -0
- package/dist/server/app-rsc-request-normalization.d.ts +4 -1
- package/dist/server/app-rsc-request-normalization.js +7 -2
- package/dist/server/app-rsc-request-normalization.js.map +1 -1
- package/dist/server/app-rsc-response-finalizer.d.ts +2 -1
- package/dist/server/app-rsc-response-finalizer.js +6 -1
- package/dist/server/app-rsc-response-finalizer.js.map +1 -1
- package/dist/server/app-rsc-route-matching.js.map +1 -1
- package/dist/server/app-segment-config.js.map +1 -1
- package/dist/server/app-server-action-execution.d.ts +16 -2
- package/dist/server/app-server-action-execution.js +79 -23
- package/dist/server/app-server-action-execution.js.map +1 -1
- package/dist/server/app-ssr-entry.d.ts +6 -0
- package/dist/server/app-ssr-entry.js +10 -4
- package/dist/server/app-ssr-entry.js.map +1 -1
- package/dist/server/app-ssr-stream.js.map +1 -1
- package/dist/server/app-static-generation.js.map +1 -1
- package/dist/server/artifact-compatibility.js.map +1 -1
- package/dist/server/cache-control.js +1 -0
- package/dist/server/cache-control.js.map +1 -1
- package/dist/server/cache-proof.js.map +1 -1
- package/dist/server/csp.js.map +1 -1
- package/dist/server/dev-error-overlay-store.js.map +1 -1
- package/dist/server/dev-error-overlay.js +5 -0
- package/dist/server/dev-error-overlay.js.map +1 -1
- package/dist/server/dev-module-runner.js.map +1 -1
- package/dist/server/dev-origin-check.js.map +1 -1
- package/dist/server/dev-route-files.js.map +1 -1
- package/dist/server/dev-server.js +8 -5
- package/dist/server/dev-server.js.map +1 -1
- package/dist/server/file-based-metadata.js.map +1 -1
- package/dist/server/headers.d.ts +79 -0
- package/dist/server/headers.js +101 -0
- package/dist/server/headers.js.map +1 -0
- package/dist/server/html.js.map +1 -1
- package/dist/server/http-error-responses.js.map +1 -1
- package/dist/server/image-optimization.d.ts +11 -1
- package/dist/server/image-optimization.js.map +1 -1
- package/dist/server/implicit-tags.js +2 -1
- package/dist/server/implicit-tags.js.map +1 -1
- package/dist/server/instrumentation-runtime.js.map +1 -1
- package/dist/server/instrumentation.js.map +1 -1
- package/dist/server/isr-cache.d.ts +10 -1
- package/dist/server/isr-cache.js +12 -3
- package/dist/server/isr-cache.js.map +1 -1
- package/dist/server/metadata-route-build-data.js.map +1 -1
- package/dist/server/metadata-route-response.js.map +1 -1
- package/dist/server/metadata-routes.js.map +1 -1
- package/dist/server/middleware-matcher.js.map +1 -1
- package/dist/server/middleware-request-headers.d.ts +4 -1
- package/dist/server/middleware-request-headers.js +15 -8
- package/dist/server/middleware-request-headers.js.map +1 -1
- package/dist/server/middleware-response-headers.d.ts +2 -1
- package/dist/server/middleware-response-headers.js +1 -1
- package/dist/server/middleware-response-headers.js.map +1 -1
- package/dist/server/middleware-runtime.d.ts +1 -0
- package/dist/server/middleware-runtime.js +6 -3
- package/dist/server/middleware-runtime.js.map +1 -1
- package/dist/server/middleware.js.map +1 -1
- package/dist/server/navigation-planner.d.ts +119 -0
- package/dist/server/navigation-planner.js +171 -0
- package/dist/server/navigation-planner.js.map +1 -0
- package/dist/server/navigation-trace.d.ts +12 -2
- package/dist/server/navigation-trace.js +13 -1
- package/dist/server/navigation-trace.js.map +1 -1
- package/dist/server/next-error-digest.d.ts +3 -2
- package/dist/server/next-error-digest.js +4 -2
- package/dist/server/next-error-digest.js.map +1 -1
- package/dist/server/normalize-path.js.map +1 -1
- package/dist/server/pages-api-route.js.map +1 -1
- package/dist/server/pages-i18n.js.map +1 -1
- package/dist/server/pages-media-type.js.map +1 -1
- package/dist/server/pages-node-compat.js.map +1 -1
- package/dist/server/pages-page-data.js +5 -2
- package/dist/server/pages-page-data.js.map +1 -1
- package/dist/server/pages-page-response.js +3 -2
- package/dist/server/pages-page-response.js.map +1 -1
- package/dist/server/prerender-work-unit-setup.js +1 -1
- package/dist/server/prerender-work-unit-setup.js.map +1 -1
- package/dist/server/prod-server.js +35 -13
- package/dist/server/prod-server.js.map +1 -1
- package/dist/server/request-log.js.map +1 -1
- package/dist/server/request-pipeline.d.ts +1 -13
- package/dist/server/request-pipeline.js +3 -25
- package/dist/server/request-pipeline.js.map +1 -1
- package/dist/server/rsc-stream-hints.js.map +1 -1
- package/dist/server/seed-cache.js.map +1 -1
- package/dist/server/server-action-not-found.js +3 -3
- package/dist/server/server-action-not-found.js.map +1 -1
- package/dist/server/socket-error-backstop.js.map +1 -1
- package/dist/server/static-file-cache.js.map +1 -1
- package/dist/server/worker-utils.d.ts +0 -7
- package/dist/server/worker-utils.js +3 -2
- package/dist/server/worker-utils.js.map +1 -1
- package/dist/shims/amp.js.map +1 -1
- package/dist/shims/app.d.ts +37 -4
- package/dist/shims/app.js +50 -1
- package/dist/shims/app.js.map +1 -0
- package/dist/shims/cache-for-request.js.map +1 -1
- package/dist/shims/cache-runtime.js +20 -8
- package/dist/shims/cache-runtime.js.map +1 -1
- package/dist/shims/cache.d.ts +15 -3
- package/dist/shims/cache.js +99 -15
- package/dist/shims/cache.js.map +1 -1
- package/dist/shims/client-hook-error.js.map +1 -1
- package/dist/shims/compat-router.js.map +1 -1
- package/dist/shims/config.js.map +1 -1
- package/dist/shims/constants.js.map +1 -1
- package/dist/shims/document.js.map +1 -1
- package/dist/shims/dynamic.d.ts +18 -10
- package/dist/shims/dynamic.js +107 -51
- package/dist/shims/dynamic.js.map +1 -1
- package/dist/shims/error-boundary.d.ts +35 -6
- package/dist/shims/error-boundary.js +118 -33
- package/dist/shims/error-boundary.js.map +1 -1
- package/dist/shims/error.js.map +1 -1
- package/dist/shims/fetch-cache.d.ts +22 -1
- package/dist/shims/fetch-cache.js +124 -13
- package/dist/shims/fetch-cache.js.map +1 -1
- package/dist/shims/font-google-base.js.map +1 -1
- package/dist/shims/font-local.js.map +1 -1
- package/dist/shims/form.js +3 -1
- package/dist/shims/form.js.map +1 -1
- package/dist/shims/head-state.js.map +1 -1
- package/dist/shims/head.d.ts +3 -1
- package/dist/shims/head.js +28 -16
- package/dist/shims/head.js.map +1 -1
- package/dist/shims/headers.d.ts +4 -2
- package/dist/shims/headers.js +24 -7
- package/dist/shims/headers.js.map +1 -1
- package/dist/shims/i18n-context.js.map +1 -1
- package/dist/shims/i18n-state.js.map +1 -1
- package/dist/shims/image-config.d.ts +14 -1
- package/dist/shims/image-config.js +24 -1
- package/dist/shims/image-config.js.map +1 -1
- package/dist/shims/image.js +15 -2
- package/dist/shims/image.js.map +1 -1
- package/dist/shims/internal/als-registry.js.map +1 -1
- package/dist/shims/internal/app-router-context.d.ts +1 -0
- package/dist/shims/internal/app-router-context.js.map +1 -1
- package/dist/shims/internal/cookie-serialize.js.map +1 -1
- package/dist/shims/internal/make-hanging-promise.d.ts +1 -1
- package/dist/shims/internal/make-hanging-promise.js +1 -1
- package/dist/shims/internal/make-hanging-promise.js.map +1 -1
- package/dist/shims/internal/parse-cookie-header.js.map +1 -1
- package/dist/shims/internal/utils.js.map +1 -1
- package/dist/shims/internal/work-unit-async-storage.js +2 -2
- package/dist/shims/internal/work-unit-async-storage.js.map +1 -1
- package/dist/shims/layout-segment-context.js.map +1 -1
- package/dist/shims/legacy-image.js.map +1 -1
- package/dist/shims/link-prefetch.d.ts +34 -0
- package/dist/shims/link-prefetch.js +40 -0
- package/dist/shims/link-prefetch.js.map +1 -0
- package/dist/shims/link.d.ts +27 -4
- package/dist/shims/link.js +91 -27
- package/dist/shims/link.js.map +1 -1
- package/dist/shims/metadata.js.map +1 -1
- package/dist/shims/navigation-state.js.map +1 -1
- package/dist/shims/navigation.d.ts +22 -1
- package/dist/shims/navigation.js +30 -15
- package/dist/shims/navigation.js.map +1 -1
- package/dist/shims/navigation.react-server.js.map +1 -1
- package/dist/shims/offline.js.map +1 -1
- package/dist/shims/readonly-url-search-params.js.map +1 -1
- package/dist/shims/request-context.js.map +1 -1
- package/dist/shims/root-params.js.map +1 -1
- package/dist/shims/router-state.js.map +1 -1
- package/dist/shims/router.d.ts +38 -2
- package/dist/shims/router.js +45 -17
- package/dist/shims/router.js.map +1 -1
- package/dist/shims/script-nonce-context.js.map +1 -1
- package/dist/shims/script.js.map +1 -1
- package/dist/shims/server.js +10 -14
- package/dist/shims/server.js.map +1 -1
- package/dist/shims/slot.d.ts +6 -1
- package/dist/shims/slot.js +20 -7
- package/dist/shims/slot.js.map +1 -1
- package/dist/shims/thenable-params.js.map +1 -1
- package/dist/shims/unified-request-context.js +3 -0
- package/dist/shims/unified-request-context.js.map +1 -1
- package/dist/shims/url-safety.js.map +1 -1
- package/dist/shims/url-utils.d.ts +2 -1
- package/dist/shims/url-utils.js +10 -1
- package/dist/shims/url-utils.js.map +1 -1
- package/dist/shims/use-merged-ref.js.map +1 -1
- package/dist/shims/web-vitals.d.ts +4 -21
- package/dist/shims/web-vitals.js +19 -6
- package/dist/shims/web-vitals.js.map +1 -1
- package/dist/utils/base-path.js.map +1 -1
- package/dist/utils/cache-control-metadata.js.map +1 -1
- package/dist/utils/domain-locale.js.map +1 -1
- package/dist/utils/encode-cache-tag.d.ts +31 -0
- package/dist/utils/encode-cache-tag.js +38 -0
- package/dist/utils/encode-cache-tag.js.map +1 -0
- package/dist/utils/error-cause.js.map +1 -1
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/lazy-chunks.js.map +1 -1
- package/dist/utils/manifest-paths.js.map +1 -1
- package/dist/utils/mdx-scan.js.map +1 -1
- package/dist/utils/navigation-signal.d.ts +6 -0
- package/dist/utils/navigation-signal.js +14 -0
- package/dist/utils/navigation-signal.js.map +1 -0
- package/dist/utils/project.js.map +1 -1
- package/dist/utils/public-routes.js.map +1 -1
- package/dist/utils/query.js.map +1 -1
- package/dist/utils/safe-json-file.js.map +1 -1
- package/dist/utils/text-stream.js.map +1 -1
- package/dist/utils/vinext-root.js.map +1 -1
- package/package.json +6 -4
package/dist/index.js
CHANGED
|
@@ -3,10 +3,11 @@ import { normalizePathnameForRouteMatchStrict } from "./routing/utils.js";
|
|
|
3
3
|
import { createValidFileMatcher } from "./routing/file-matcher.js";
|
|
4
4
|
import { hasBasePath, removeTrailingSlash } from "./utils/base-path.js";
|
|
5
5
|
import { apiRouter, invalidateRouteCache, matchRoute, pagesRouter } from "./routing/pages-router.js";
|
|
6
|
+
import { INTERNAL_HEADERS, VINEXT_MW_CTX_HEADER, VINEXT_TIMING_HEADER } from "./server/headers.js";
|
|
6
7
|
import { buildRequestHeadersFromMiddlewareResponse } from "./server/middleware-request-headers.js";
|
|
7
8
|
import { normalizePath as normalizePath$1 } from "./server/normalize-path.js";
|
|
8
9
|
import { isExternalUrl, matchHeaders, matchRedirect, matchRewrite, proxyExternalRequest, requestContextFromRequest, sanitizeDestination } from "./config/config-matchers.js";
|
|
9
|
-
import {
|
|
10
|
+
import { filterInternalHeaders, isOpenRedirectShaped } from "./server/request-pipeline.js";
|
|
10
11
|
import { findMiddlewareFile, runMiddleware } from "./server/middleware.js";
|
|
11
12
|
import { generateServerEntry } from "./entries/pages-server-entry.js";
|
|
12
13
|
import { generateClientEntry } from "./entries/pages-client-entry.js";
|
|
@@ -31,6 +32,7 @@ import { precompressAssets } from "./build/precompress.js";
|
|
|
31
32
|
import { manifestFileWithBase, manifestFilesWithBase } from "./utils/manifest-paths.js";
|
|
32
33
|
import { asyncHooksStubPlugin } from "./plugins/async-hooks-stub.js";
|
|
33
34
|
import { clientReferenceDedupPlugin } from "./plugins/client-reference-dedup.js";
|
|
35
|
+
import { createRscClientReferenceLoadersPlugin } from "./plugins/rsc-client-reference-loaders.js";
|
|
34
36
|
import { createInstrumentationClientTransformPlugin } from "./plugins/instrumentation-client.js";
|
|
35
37
|
import { createOptimizeImportsPlugin } from "./plugins/optimize-imports.js";
|
|
36
38
|
import { createOgInlineFetchAssetsPlugin, ogAssetsPlugin } from "./plugins/og-assets.js";
|
|
@@ -49,7 +51,7 @@ import { staticExportApp, staticExportPages } from "./build/static-export.js";
|
|
|
49
51
|
import { createRequire } from "node:module";
|
|
50
52
|
import fs from "node:fs";
|
|
51
53
|
import path from "node:path";
|
|
52
|
-
import { loadEnv, parseAst } from "vite";
|
|
54
|
+
import { loadEnv, parseAst, transformWithOxc } from "vite";
|
|
53
55
|
import { pathToFileURL } from "node:url";
|
|
54
56
|
import { randomBytes } from "node:crypto";
|
|
55
57
|
import MagicString from "magic-string";
|
|
@@ -184,6 +186,27 @@ function getViteMajorVersion() {
|
|
|
184
186
|
return 7;
|
|
185
187
|
}
|
|
186
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Read the vinext package version once at plugin load. Surfaced via
|
|
191
|
+
* `process.env.__NEXT_VERSION` define so `window.next.version` lands a
|
|
192
|
+
* real string instead of the `"vinext"` fallback. Resolved relative to
|
|
193
|
+
* this module's own `package.json`, not the project root.
|
|
194
|
+
*
|
|
195
|
+
* Defaults to `"vinext"` on read failure so a malformed install never
|
|
196
|
+
* breaks the build — only the diagnostic global loses fidelity.
|
|
197
|
+
*/
|
|
198
|
+
let _vinextVersionCache = null;
|
|
199
|
+
function getVinextVersion() {
|
|
200
|
+
if (_vinextVersionCache !== null) return _vinextVersionCache;
|
|
201
|
+
try {
|
|
202
|
+
const pkgUrl = new URL("../package.json", import.meta.url);
|
|
203
|
+
const pkg = JSON.parse(fs.readFileSync(pkgUrl, "utf-8"));
|
|
204
|
+
_vinextVersionCache = typeof pkg.version === "string" ? pkg.version : "vinext";
|
|
205
|
+
} catch {
|
|
206
|
+
_vinextVersionCache = "vinext";
|
|
207
|
+
}
|
|
208
|
+
return _vinextVersionCache;
|
|
209
|
+
}
|
|
187
210
|
const _tsconfigAliasCache = /* @__PURE__ */ new Map();
|
|
188
211
|
function resolveTsconfigAliases(projectRoot) {
|
|
189
212
|
if (_tsconfigAliasCache.has(projectRoot)) return _tsconfigAliasCache.get(projectRoot);
|
|
@@ -359,6 +382,24 @@ function vinext(options = {}) {
|
|
|
359
382
|
...viteMajorVersion >= 8 ? [] : [tsconfigPaths()],
|
|
360
383
|
reactPluginPromise,
|
|
361
384
|
commonjs(),
|
|
385
|
+
...viteMajorVersion >= 8 ? [{
|
|
386
|
+
name: "vinext:jsx-in-js",
|
|
387
|
+
enforce: "pre",
|
|
388
|
+
async transform(code, id) {
|
|
389
|
+
const cleanId = id.split("?")[0];
|
|
390
|
+
if (!/\.(m?js)$/.test(cleanId)) return;
|
|
391
|
+
if (cleanId.includes("/node_modules/")) return;
|
|
392
|
+
const result = await transformWithOxc(code, id, {
|
|
393
|
+
lang: "jsx",
|
|
394
|
+
jsx: { runtime: "automatic" },
|
|
395
|
+
sourcemap: true
|
|
396
|
+
});
|
|
397
|
+
return {
|
|
398
|
+
code: result.code,
|
|
399
|
+
map: result.map
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
}] : [],
|
|
362
403
|
{
|
|
363
404
|
name: "vinext:config",
|
|
364
405
|
enforce: "pre",
|
|
@@ -441,8 +482,11 @@ function vinext(options = {}) {
|
|
|
441
482
|
defines["process.env.__VINEXT_IMAGE_SIZES"] = JSON.stringify(JSON.stringify(imageSizes));
|
|
442
483
|
}
|
|
443
484
|
defines["process.env.__VINEXT_IMAGE_DANGEROUSLY_ALLOW_SVG"] = JSON.stringify(String(nextConfig.images?.dangerouslyAllowSVG ?? false));
|
|
485
|
+
defines["process.env.__VINEXT_IMAGE_DANGEROUSLY_ALLOW_LOCAL_IP"] = JSON.stringify(String(nextConfig.images?.dangerouslyAllowLocalIP ?? false));
|
|
444
486
|
defines["process.env.__VINEXT_DRAFT_SECRET"] = JSON.stringify(crypto.randomUUID());
|
|
445
487
|
defines["process.env.__VINEXT_BUILD_ID"] = JSON.stringify(nextConfig.buildId);
|
|
488
|
+
defines["process.env.__VINEXT_DEPLOYMENT_ID"] = JSON.stringify(nextConfig.deploymentId ?? "");
|
|
489
|
+
defines["process.env.__NEXT_VERSION"] = JSON.stringify(getVinextVersion());
|
|
446
490
|
nextShimMap = Object.fromEntries(Object.entries({
|
|
447
491
|
"next/link": path.join(shimsDir, "link"),
|
|
448
492
|
"next/head": path.join(shimsDir, "head"),
|
|
@@ -537,7 +581,8 @@ function vinext(options = {}) {
|
|
|
537
581
|
external: [
|
|
538
582
|
"react",
|
|
539
583
|
"react-dom",
|
|
540
|
-
"react-dom/server"
|
|
584
|
+
"react-dom/server",
|
|
585
|
+
"ipaddr.js"
|
|
541
586
|
],
|
|
542
587
|
noExternal: true
|
|
543
588
|
} },
|
|
@@ -603,7 +648,7 @@ function vinext(options = {}) {
|
|
|
603
648
|
},
|
|
604
649
|
ssr: {
|
|
605
650
|
...hasCloudflarePlugin || hasNitroPlugin ? {} : { resolve: {
|
|
606
|
-
external: userSsrExternal === true ? true : [...userSsrExternal],
|
|
651
|
+
external: userSsrExternal === true ? true : [...userSsrExternal, "ipaddr.js"],
|
|
607
652
|
...userSsrExternal === true ? {} : { noExternal: true }
|
|
608
653
|
} },
|
|
609
654
|
optimizeDeps: {
|
|
@@ -672,7 +717,8 @@ function vinext(options = {}) {
|
|
|
672
717
|
external: [
|
|
673
718
|
"react",
|
|
674
719
|
"react-dom",
|
|
675
|
-
"react-dom/server"
|
|
720
|
+
"react-dom/server",
|
|
721
|
+
"ipaddr.js"
|
|
676
722
|
],
|
|
677
723
|
noExternal: true
|
|
678
724
|
},
|
|
@@ -759,9 +805,10 @@ function vinext(options = {}) {
|
|
|
759
805
|
}
|
|
760
806
|
if (id === RESOLVED_ROOT_PARAMS) return generateRootParamsModule((hasAppDir ? await appRouter(appDir, nextConfig?.pageExtensions, fileMatcher) : []).flatMap((route) => route.rootParamNames ?? []));
|
|
761
807
|
if (id === RESOLVED_APP_SSR_ENTRY && hasAppDir) return generateSsrEntry(hasPagesDir);
|
|
762
|
-
if (id === RESOLVED_APP_BROWSER_ENTRY && hasAppDir) return generateBrowserEntry();
|
|
808
|
+
if (id === RESOLVED_APP_BROWSER_ENTRY && hasAppDir) return generateBrowserEntry(await appRouter(appDir, nextConfig?.pageExtensions, fileMatcher));
|
|
763
809
|
if (id.startsWith("\0virtual:vinext-google-fonts?")) return generateGoogleFontsVirtualModule(id, _fontGoogleShimPath);
|
|
764
810
|
},
|
|
811
|
+
// @vitejs/plugin-rsc runs the RSC environment build in two phases:
|
|
765
812
|
generateBundle(_options, bundle) {
|
|
766
813
|
if (this.environment?.name !== "rsc") return;
|
|
767
814
|
if (!rscClassificationManifest) return;
|
|
@@ -953,7 +1000,7 @@ function vinext(options = {}) {
|
|
|
953
1000
|
if (typeof reasonOrHeaders === "string") headers = maybeHeaders;
|
|
954
1001
|
else headers = reasonOrHeaders;
|
|
955
1002
|
if (headers && typeof headers === "object" && !Array.isArray(headers)) {
|
|
956
|
-
const timingKey = Object.keys(headers).find((k) => k.toLowerCase() ===
|
|
1003
|
+
const timingKey = Object.keys(headers).find((k) => k.toLowerCase() === VINEXT_TIMING_HEADER);
|
|
957
1004
|
if (timingKey) {
|
|
958
1005
|
_parseTiming(headers[timingKey]);
|
|
959
1006
|
delete headers[timingKey];
|
|
@@ -976,7 +1023,7 @@ function vinext(options = {}) {
|
|
|
976
1023
|
});
|
|
977
1024
|
next();
|
|
978
1025
|
});
|
|
979
|
-
|
|
1026
|
+
const handlePagesMiddleware = async (req, res, next) => {
|
|
980
1027
|
try {
|
|
981
1028
|
let url = req.url ?? "/";
|
|
982
1029
|
if (!hasPagesDir) return next();
|
|
@@ -1074,7 +1121,7 @@ function vinext(options = {}) {
|
|
|
1074
1121
|
};
|
|
1075
1122
|
const applyMwRequestHeadersForExternalProxy = () => {
|
|
1076
1123
|
if (middlewareRequestHeaders) applyRequestHeadersToNodeRequest(middlewareRequestHeaders);
|
|
1077
|
-
else delete req.headers[
|
|
1124
|
+
else delete req.headers[VINEXT_MW_CTX_HEADER];
|
|
1078
1125
|
};
|
|
1079
1126
|
if (middlewarePath) {
|
|
1080
1127
|
const rawProto = process.env.VINEXT_TRUST_PROXY === "1" || (process.env.VINEXT_TRUSTED_HOSTS ?? "").split(",").some((h) => h.trim()) ? String(req.headers["x-forwarded-proto"] || "").split(",")[0].trim() : "";
|
|
@@ -1110,7 +1157,7 @@ function vinext(options = {}) {
|
|
|
1110
1157
|
const currentRequestHeaders = new Headers();
|
|
1111
1158
|
for (const [key, value] of Object.entries(req.headers)) if (Array.isArray(value)) currentRequestHeaders.set(key, value.join(", "));
|
|
1112
1159
|
else if (value !== void 0) currentRequestHeaders.set(key, value);
|
|
1113
|
-
middlewareRequestHeaders = buildRequestHeadersFromMiddlewareResponse(currentRequestHeaders, result.responseHeaders);
|
|
1160
|
+
middlewareRequestHeaders = buildRequestHeadersFromMiddlewareResponse(currentRequestHeaders, result.responseHeaders, { preserveCredentialHeaders: Boolean(result.rewriteUrl && isExternalUrl(result.rewriteUrl)) });
|
|
1114
1161
|
if (middlewareRequestHeaders && !hasAppDir) applyRequestHeadersToNodeRequest(middlewareRequestHeaders);
|
|
1115
1162
|
if (hasAppDir) {
|
|
1116
1163
|
deferredMwResponseHeaders = [];
|
|
@@ -1121,15 +1168,16 @@ function vinext(options = {}) {
|
|
|
1121
1168
|
url = result.rewriteUrl;
|
|
1122
1169
|
req.url = url;
|
|
1123
1170
|
}
|
|
1124
|
-
|
|
1171
|
+
const middlewareStatus = result.status ?? result.rewriteStatus;
|
|
1172
|
+
if (middlewareStatus !== void 0) req.__vinextMiddlewareStatus = middlewareStatus;
|
|
1125
1173
|
if (hasAppDir) {
|
|
1126
1174
|
const mwCtxEntries = [];
|
|
1127
1175
|
if (result.responseHeaders) {
|
|
1128
1176
|
for (const [key, value] of result.responseHeaders) if (key !== "x-middleware-next" && key !== "x-middleware-rewrite") mwCtxEntries.push([key, value]);
|
|
1129
1177
|
}
|
|
1130
|
-
req.headers[
|
|
1178
|
+
req.headers[VINEXT_MW_CTX_HEADER] = JSON.stringify({
|
|
1131
1179
|
h: mwCtxEntries,
|
|
1132
|
-
s:
|
|
1180
|
+
s: middlewareStatus ?? null,
|
|
1133
1181
|
r: result.rewriteUrl ?? null
|
|
1134
1182
|
});
|
|
1135
1183
|
}
|
|
@@ -1159,9 +1207,13 @@ function vinext(options = {}) {
|
|
|
1159
1207
|
return;
|
|
1160
1208
|
}
|
|
1161
1209
|
const routes = await pagesRouter(pagesDir, nextConfig?.pageExtensions, fileMatcher);
|
|
1162
|
-
|
|
1210
|
+
let match = matchRoute(resolvedUrl.split("?")[0], routes);
|
|
1211
|
+
if ((!match || match.route.isDynamic) && nextConfig?.rewrites.afterFiles.length) {
|
|
1163
1212
|
const afterRewrite = applyRewrites(resolvedUrl.split("?")[0], nextConfig.rewrites.afterFiles, reqCtx);
|
|
1164
|
-
if (afterRewrite)
|
|
1213
|
+
if (afterRewrite) {
|
|
1214
|
+
resolvedUrl = afterRewrite;
|
|
1215
|
+
match = matchRoute(resolvedUrl.split("?")[0], routes);
|
|
1216
|
+
}
|
|
1165
1217
|
}
|
|
1166
1218
|
if (isExternalUrl(resolvedUrl)) {
|
|
1167
1219
|
applyDeferredMwHeaders();
|
|
@@ -1170,8 +1222,8 @@ function vinext(options = {}) {
|
|
|
1170
1222
|
return;
|
|
1171
1223
|
}
|
|
1172
1224
|
const handler = createSSRHandler(server, getPagesRunner(), routes, pagesDir, nextConfig?.i18n, fileMatcher, nextConfig?.basePath ?? "", nextConfig?.trailingSlash ?? false);
|
|
1173
|
-
const mwStatus = req.
|
|
1174
|
-
if (
|
|
1225
|
+
const mwStatus = req.__vinextMiddlewareStatus;
|
|
1226
|
+
if (match) {
|
|
1175
1227
|
applyDeferredMwHeaders();
|
|
1176
1228
|
if (middlewareRequestHeaders) applyRequestHeadersToNodeRequest(middlewareRequestHeaders);
|
|
1177
1229
|
await handler(req, res, resolvedUrl, mwStatus);
|
|
@@ -1198,6 +1250,9 @@ function vinext(options = {}) {
|
|
|
1198
1250
|
} catch (e) {
|
|
1199
1251
|
next(e);
|
|
1200
1252
|
}
|
|
1253
|
+
};
|
|
1254
|
+
server.middlewares.use((req, res, next) => {
|
|
1255
|
+
handlePagesMiddleware(req, res, next);
|
|
1201
1256
|
});
|
|
1202
1257
|
};
|
|
1203
1258
|
}
|
|
@@ -1704,7 +1759,10 @@ function vinext(options = {}) {
|
|
|
1704
1759
|
}
|
|
1705
1760
|
}
|
|
1706
1761
|
];
|
|
1707
|
-
if (rscPluginPromise)
|
|
1762
|
+
if (rscPluginPromise) {
|
|
1763
|
+
plugins.push(rscPluginPromise);
|
|
1764
|
+
plugins.push(createRscClientReferenceLoadersPlugin());
|
|
1765
|
+
}
|
|
1708
1766
|
return plugins;
|
|
1709
1767
|
}
|
|
1710
1768
|
/**
|