vinext 1.3.0 → 1.3.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/dist/_virtual/_rolldown/runtime.js +1 -1
- package/dist/build/action-owner-manifest.d.ts +3 -2
- package/dist/build/action-owner-manifest.js +18 -2
- package/dist/build/app-page-static-eligibility.d.ts +17 -1
- package/dist/build/app-page-static-eligibility.js +80 -13
- package/dist/build/clean-output.d.ts +2 -1
- package/dist/build/client-build-config.d.ts +13 -3
- package/dist/build/client-build-config.js +46 -9
- package/dist/build/client-reference-async.d.ts +48 -0
- package/dist/build/client-reference-async.js +123 -0
- package/dist/build/client-reference-chunks.d.ts +32 -0
- package/dist/build/client-reference-chunks.js +111 -0
- package/dist/build/client-reference-groups.d.ts +9 -1
- package/dist/build/client-reference-groups.js +40 -2
- package/dist/build/css-url-assets.d.ts +2 -1
- package/dist/build/google-fonts/fallback-metrics.d.ts +2 -1
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +1 -0
- package/dist/build/google-fonts/find-font-files-in-css.js +17 -4
- package/dist/build/google-fonts/font-metadata.d.ts +2 -1
- package/dist/build/google-fonts/validate.d.ts +2 -1
- package/dist/build/inline-css.d.ts +2 -1
- package/dist/build/layout-classification.d.ts +2 -1
- package/dist/build/module-dependency-cache.d.ts +2 -1
- package/dist/build/next-client-runtime-manifests.d.ts +2 -1
- package/dist/build/precompress.d.ts +2 -1
- package/dist/build/precompress.js +1 -1
- package/dist/build/prerender-paths.d.ts +2 -1
- package/dist/build/prerender-phase.d.ts +2 -1
- package/dist/build/prerender-server-pool.js +1 -1
- package/dist/build/prerender.d.ts +3 -2
- package/dist/build/prerender.js +5 -4
- package/dist/build/report.d.ts +2 -1
- package/dist/build/route-classification-injector.d.ts +2 -1
- package/dist/build/route-classification-manifest.d.ts +2 -1
- package/dist/build/run-prerender.d.ts +2 -1
- package/dist/build/server-actions-encryption-key.d.ts +2 -1
- package/dist/build/ssr-manifest.js +25 -2
- package/dist/build/standalone.d.ts +2 -1
- package/dist/cache/cache-adapters-virtual.d.ts +2 -1
- package/dist/cache.js +1 -2
- package/dist/check.d.ts +2 -1
- package/dist/check.js +4 -0
- package/dist/cli-args.d.ts +2 -1
- package/dist/cli.js +2 -0
- package/dist/client/client-redirect-matcher.js +2 -1
- package/dist/client/client-redirects.d.ts +4 -3
- package/dist/client/client-redirects.js +2 -1
- package/dist/client/client-rewrites.d.ts +2 -1
- package/dist/client/dev-error-overlay-store.d.ts +2 -1
- package/dist/client/index.js +1 -2
- package/dist/client/instrumentation-client-state.js +5 -5
- package/dist/client/navigation-runtime.d.ts +3 -1
- package/dist/client/navigation-runtime.js +1 -1
- package/dist/client/pages-router-link-navigation.d.ts +2 -1
- package/dist/client/vinext-next-data.d.ts +25 -1
- package/dist/client/window-next.d.ts +2 -1
- package/dist/config/config-matchers.d.ts +12 -1
- package/dist/config/config-matchers.js +111 -16
- package/dist/config/dotenv.d.ts +2 -1
- package/dist/config/next-config.d.ts +13 -1
- package/dist/config/next-config.js +29 -4
- package/dist/config/tsconfig-paths.d.ts +2 -1
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/detector.js +23 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/index.js +2 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/lookup.js +25 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/bmp.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/cur.js +15 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/dds.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/gif.js +12 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/heif.js +55 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/icns.js +76 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/ico.js +39 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/index.js +46 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/j2c.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jp2.js +21 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jpg.js +71 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jxl-stream.js +42 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jxl.js +46 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/ktx.js +19 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/png.js +28 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/pnm.js +54 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/psd.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/svg.js +79 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/tga.js +15 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/tiff.js +96 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/utils.js +53 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/webp.js +45 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/utils/bit-reader.js +38 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +2 -2
- package/dist/entries/app-browser-entry.d.ts +20 -5
- package/dist/entries/app-browser-entry.js +79 -6
- package/dist/entries/app-rsc-entry.d.ts +2 -1
- package/dist/entries/app-rsc-entry.js +42 -12
- package/dist/entries/app-rsc-manifest.d.ts +2 -1
- package/dist/entries/app-rsc-manifest.js +53 -0
- package/dist/entries/pages-entry-helpers.js +1 -2
- package/dist/entries/pages-server-entry.d.ts +2 -1
- package/dist/entries/pages-server-entry.js +1 -1
- package/dist/entries/runtime-entry-module.d.ts +1 -0
- package/dist/entries/runtime-entry-module.js +4 -1
- package/dist/image/image-adapters-virtual.d.ts +2 -1
- package/dist/index.js +102 -34
- package/dist/plugins/client-compile-hints.d.ts +30 -0
- package/dist/plugins/client-compile-hints.js +88 -0
- package/dist/plugins/client-reference-dedup.d.ts +2 -1
- package/dist/plugins/cloudflare-dev-module-urls.d.ts +2 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -1
- package/dist/plugins/dynamic-preload-metadata.js +1 -1
- package/dist/plugins/environment.d.ts +2 -1
- package/dist/plugins/fonts.js +9 -12
- package/dist/plugins/ignore-dynamic-requests.d.ts +2 -1
- package/dist/plugins/import-meta-url.d.ts +2 -1
- package/dist/plugins/og-assets.d.ts +2 -1
- package/dist/plugins/og-assets.js +2 -3
- package/dist/plugins/optimize-imports.d.ts +2 -1
- package/dist/plugins/pages-node-externals.d.ts +2 -1
- package/dist/plugins/remove-console.d.ts +2 -1
- package/dist/plugins/require-condition-resolution.d.ts +2 -1
- package/dist/plugins/rsc-client-reference-loaders.d.ts +8 -0
- package/dist/plugins/rsc-client-reference-loaders.js +170 -68
- package/dist/plugins/rsc-client-shim-excludes.js +2 -0
- package/dist/plugins/sass.d.ts +2 -1
- package/dist/plugins/strip-server-exports.d.ts +2 -1
- package/dist/plugins/styled-jsx.d.ts +2 -1
- package/dist/plugins/transform-result.d.ts +2 -1
- package/dist/plugins/typeof-window.d.ts +2 -1
- package/dist/plugins/worker-image-imports.js +1 -1
- package/dist/plugins/worker-use-server.d.ts +2 -1
- package/dist/routing/app-route-graph.d.ts +40 -0
- package/dist/routing/app-route-graph.js +122 -50
- package/dist/routing/browser-route-manifest.d.ts +2 -1
- package/dist/routing/optimistic-route-trie.d.ts +2 -1
- package/dist/routing/route-matching.d.ts +2 -1
- package/dist/routing/route-pattern.d.ts +2 -1
- package/dist/server/accept-encoding.d.ts +2 -1
- package/dist/server/app-action-forwarding.d.ts +2 -1
- package/dist/server/app-bfcache-identity.d.ts +2 -1
- package/dist/server/app-browser-action-result.d.ts +2 -1
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -1
- package/dist/server/app-browser-entry.js +30 -6
- package/dist/server/app-browser-error.d.ts +2 -1
- package/dist/server/app-browser-history-controller.d.ts +2 -1
- package/dist/server/app-browser-hydration.d.ts +2 -1
- package/dist/server/app-browser-interception-context.d.ts +2 -1
- package/dist/server/app-browser-navigation-controller.js +15 -10
- package/dist/server/app-browser-popstate.d.ts +2 -1
- package/dist/server/app-browser-rsc-redirect.d.ts +2 -1
- package/dist/server/app-browser-server-action-client.d.ts +2 -1
- package/dist/server/app-browser-state.js +1 -1
- package/dist/server/app-browser-stream.d.ts +2 -1
- package/dist/server/app-browser-visible-commit.d.ts +2 -1
- package/dist/server/app-client-reference-manifest.d.ts +31 -0
- package/dist/server/app-client-reference-manifest.js +46 -0
- package/dist/server/app-client-reference-preloader.d.ts +25 -5
- package/dist/server/app-client-reference-preloader.js +22 -7
- package/dist/server/app-elements-wire.d.ts +2 -1
- package/dist/server/app-elements.d.ts +2 -0
- package/dist/server/app-elements.js +3 -1
- package/dist/server/app-fallback-renderer.d.ts +9 -2
- package/dist/server/app-fallback-renderer.js +4 -1
- package/dist/server/app-history-state.d.ts +2 -1
- package/dist/server/app-inline-css-client.d.ts +2 -1
- package/dist/server/app-layout-param-observation.d.ts +2 -1
- package/dist/server/app-metadata-tracing.d.ts +2 -1
- package/dist/server/app-optimistic-routing.d.ts +18 -1
- package/dist/server/app-optimistic-routing.js +34 -1
- package/dist/server/app-page-boundary-render.d.ts +20 -2
- package/dist/server/app-page-boundary-render.js +221 -38
- package/dist/server/app-page-boundary.d.ts +34 -5
- package/dist/server/app-page-boundary.js +40 -7
- package/dist/server/app-page-cache-finalizer.d.ts +2 -1
- package/dist/server/app-page-cache-finalizer.js +1 -1
- package/dist/server/app-page-cache-render.d.ts +10 -2
- package/dist/server/app-page-cache-render.js +14 -2
- package/dist/server/app-page-cache.js +2 -2
- package/dist/server/app-page-dispatch.d.ts +34 -1
- package/dist/server/app-page-dispatch.js +163 -34
- package/dist/server/app-page-element-builder.d.ts +17 -1
- package/dist/server/app-page-element-builder.js +187 -66
- package/dist/server/app-page-execution.d.ts +28 -1
- package/dist/server/app-page-execution.js +114 -5
- package/dist/server/app-page-head.d.ts +95 -3
- package/dist/server/app-page-head.js +307 -152
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +48 -2
- package/dist/server/app-page-http-access-fallback-metadata.js +76 -1
- package/dist/server/app-page-method.d.ts +2 -1
- package/dist/server/app-page-probe.d.ts +2 -1
- package/dist/server/app-page-render-identity.d.ts +2 -1
- package/dist/server/app-page-render.d.ts +7 -1
- package/dist/server/app-page-render.js +35 -10
- package/dist/server/app-page-request.d.ts +14 -1
- package/dist/server/app-page-request.js +1 -1
- package/dist/server/app-page-route-wiring.d.ts +52 -2
- package/dist/server/app-page-route-wiring.js +197 -47
- package/dist/server/app-page-rsc-render-status.d.ts +2 -1
- package/dist/server/app-page-search-params-observation.d.ts +7 -2
- package/dist/server/app-page-search-params-observation.js +8 -1
- package/dist/server/app-page-segment-plan.d.ts +2 -1
- package/dist/server/app-page-stream.d.ts +31 -1
- package/dist/server/app-page-stream.js +23 -4
- package/dist/server/app-pages-bridge.d.ts +2 -1
- package/dist/server/app-ppr-fallback-shell-render.d.ts +2 -1
- package/dist/server/app-ppr-fallback-shell.d.ts +2 -1
- package/dist/server/app-prerender-endpoints.d.ts +2 -1
- package/dist/server/app-prerender-static-params.d.ts +2 -1
- package/dist/server/app-render-dependency.d.ts +11 -1
- package/dist/server/app-render-dependency.js +26 -7
- package/dist/server/app-request-stage-independent-entry.d.ts +2 -1
- package/dist/server/app-response-stage-entry.d.ts +2 -1
- package/dist/server/app-route-handler-cache.d.ts +2 -1
- package/dist/server/app-route-handler-dispatch.d.ts +2 -1
- package/dist/server/app-route-handler-dispatch.js +1 -1
- package/dist/server/app-route-handler-execution.d.ts +2 -1
- package/dist/server/app-route-handler-response.d.ts +2 -1
- package/dist/server/app-route-handler-runtime.d.ts +2 -1
- package/dist/server/app-route-module-loader.d.ts +18 -1
- package/dist/server/app-route-module-loader.js +8 -0
- package/dist/server/app-route-tree-prefetch.d.ts +2 -1
- package/dist/server/app-rsc-error-handler.d.ts +2 -1
- package/dist/server/app-rsc-errors.d.ts +2 -1
- package/dist/server/app-rsc-handler.d.ts +2 -1
- package/dist/server/app-rsc-handler.js +6 -10
- package/dist/server/app-rsc-response-finalizer.d.ts +2 -1
- package/dist/server/app-rsc-route-matching.d.ts +38 -1
- package/dist/server/app-rsc-route-matching.js +24 -0
- package/dist/server/app-segment-config.d.ts +2 -1
- package/dist/server/app-segment-config.js +1 -14
- package/dist/server/app-server-action-execution.d.ts +2 -1
- package/dist/server/app-server-action-execution.js +3 -3
- package/dist/server/app-ssr-entry.d.ts +6 -0
- package/dist/server/app-ssr-entry.js +91 -44
- package/dist/server/app-ssr-error-meta.d.ts +2 -1
- package/dist/server/app-ssr-search-params-gate.d.ts +2 -1
- package/dist/server/app-ssr-stream.d.ts +22 -10
- package/dist/server/app-ssr-stream.js +299 -67
- package/dist/server/app-static-generation.d.ts +2 -1
- package/dist/server/app-streamed-client-references.d.ts +39 -0
- package/dist/server/app-streamed-client-references.js +156 -0
- package/dist/server/app-visited-response-cache.d.ts +2 -1
- package/dist/server/app-worker-stages.d.ts +2 -1
- package/dist/server/artifact-compatibility.d.ts +2 -1
- package/dist/server/bfcache-identity.d.ts +2 -1
- package/dist/server/cache-headers.d.ts +2 -1
- package/dist/server/cacheability-request.d.ts +2 -1
- package/dist/server/client-reuse-manifest.d.ts +2 -1
- package/dist/server/config-headers.d.ts +2 -1
- package/dist/server/csp.d.ts +2 -1
- package/dist/server/default-global-not-found-module.d.ts +2 -1
- package/dist/server/default-http-access-fallback-modules.d.ts +33 -0
- package/dist/server/default-http-access-fallback-modules.js +31 -0
- package/dist/server/defer-until-stream-consumed.d.ts +34 -0
- package/dist/server/defer-until-stream-consumed.js +154 -21
- package/dist/server/dev-lockfile.d.ts +32 -2
- package/dist/server/dev-lockfile.js +46 -2
- package/dist/server/dev-module-runner.d.ts +2 -1
- package/dist/server/dev-server.js +10 -3
- package/dist/server/fetch-handler.js +1 -2
- package/dist/server/file-based-metadata.d.ts +2 -1
- package/dist/server/framework-tracer.d.ts +2 -1
- package/dist/server/html.d.ts +1 -0
- package/dist/server/html.js +19 -1
- package/dist/server/http-conditional.d.ts +2 -1
- package/dist/server/http-error-responses.d.ts +2 -1
- package/dist/server/implicit-tags.d.ts +2 -1
- package/dist/server/metadata-route-build-data.d.ts +2 -1
- package/dist/server/metadata-route-build-data.js +1 -1
- package/dist/server/metadata-route-response.d.ts +2 -1
- package/dist/server/metadata-route-response.js +1 -1
- package/dist/server/metadata-routes.d.ts +2 -1
- package/dist/server/middleware-runtime.d.ts +2 -1
- package/dist/server/navigation-trace.d.ts +2 -1
- package/dist/server/next-error-digest.d.ts +2 -1
- package/dist/server/nitro-public-files-plugin.d.ts +2 -1
- package/dist/server/nitro-public-files.d.ts +2 -1
- package/dist/server/opentelemetry-api.d.ts +2 -1
- package/dist/server/operation-token.d.ts +2 -1
- package/dist/server/pages-api-route.d.ts +2 -1
- package/dist/server/pages-asset-tags.d.ts +2 -1
- package/dist/server/pages-body-parser-config.d.ts +2 -1
- package/dist/server/pages-client-assets.d.ts +4 -0
- package/dist/server/pages-data-route.d.ts +2 -1
- package/dist/server/pages-document-asset-props.d.ts +2 -1
- package/dist/server/pages-document-initial-props.d.ts +2 -1
- package/dist/server/pages-execution-tracing.d.ts +2 -1
- package/dist/server/pages-execution-tracing.js +1 -1
- package/dist/server/pages-get-initial-props.d.ts +2 -1
- package/dist/server/pages-page-data.d.ts +7 -1
- package/dist/server/pages-page-data.js +35 -12
- package/dist/server/pages-page-handler.d.ts +3 -2
- package/dist/server/pages-page-handler.js +16 -7
- package/dist/server/pages-page-method.d.ts +2 -1
- package/dist/server/pages-page-response.d.ts +2 -1
- package/dist/server/pages-preview.d.ts +2 -1
- package/dist/server/pages-readiness.d.ts +2 -1
- package/dist/server/pages-request-pipeline.d.ts +2 -1
- package/dist/server/pages-request-pipeline.js +4 -5
- package/dist/server/pages-request-stage-entry.d.ts +2 -1
- package/dist/server/pages-response-stage-entry.d.ts +2 -1
- package/dist/server/pages-route-data-kind.d.ts +2 -1
- package/dist/server/prerender-cache-life-header.d.ts +2 -1
- package/dist/server/prerender-route-params.d.ts +2 -1
- package/dist/server/prod-server.js +9 -3
- package/dist/server/request-log.d.ts +2 -1
- package/dist/server/request-tracing.d.ts +2 -1
- package/dist/server/request-tracing.js +1 -1
- package/dist/server/response-start-tracing.js +7 -29
- package/dist/server/rsc-render-stream.d.ts +4 -0
- package/dist/server/rsc-render-stream.js +25 -0
- package/dist/server/seed-cache.d.ts +2 -1
- package/dist/server/seed-cache.js +1 -1
- package/dist/server/static-file-cache.d.ts +2 -1
- package/dist/server/static-file-cache.js +1 -0
- package/dist/server/static-layout-client-reuse-proof.d.ts +2 -1
- package/dist/server/worker-revalidation-context.d.ts +2 -1
- package/dist/server/worker-stages.d.ts +2 -1
- package/dist/shims/app.d.ts +2 -1
- package/dist/shims/cache-callable-runtime.d.ts +2 -1
- package/dist/shims/cache-handler.d.ts +8 -3
- package/dist/shims/cache-handler.js +29 -9
- package/dist/shims/caught-not-found-boundaries.d.ts +15 -0
- package/dist/shims/caught-not-found-boundaries.js +48 -0
- package/dist/shims/cdn-purge-routes.d.ts +2 -1
- package/dist/shims/client-locale.js +2 -1
- package/dist/shims/client-page-root.d.ts +2 -1
- package/dist/shims/config.d.ts +2 -1
- package/dist/shims/default-forbidden.d.ts +4 -0
- package/dist/shims/default-forbidden.js +18 -0
- package/dist/shims/default-not-found.d.ts +0 -5
- package/dist/shims/default-not-found.js +5 -41
- package/dist/shims/default-unauthorized.d.ts +4 -0
- package/dist/shims/default-unauthorized.js +18 -0
- package/dist/shims/error-boundary.d.ts +39 -3
- package/dist/shims/error-boundary.js +31 -16
- package/dist/shims/font-google.js +1 -2
- package/dist/shims/font-utils.d.ts +3 -2
- package/dist/shims/font-utils.js +5 -3
- package/dist/shims/form.js +1 -1
- package/dist/shims/http-access-error-fallback.d.ts +7 -0
- package/dist/shims/http-access-error-fallback.js +47 -0
- package/dist/shims/image.d.ts +1 -22
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +22 -2
- package/dist/shims/internal/app-prefetch-fetch-queue.js +71 -18
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +14 -3
- package/dist/shims/internal/app-route-prefetch-policy.js +29 -4
- package/dist/shims/internal/cache-context-accessor.d.ts +2 -1
- package/dist/shims/internal/client-reference-loader.d.ts +7 -0
- package/dist/shims/internal/client-reference-loader.js +91 -0
- package/dist/shims/internal/cookie-serialize.d.ts +2 -1
- package/dist/shims/internal/cookies.js +1 -2
- package/dist/shims/internal/headers-state.d.ts +2 -0
- package/dist/shims/internal/headers-state.js +6 -1
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +2 -1
- package/dist/shims/internal/interpolate-as.d.ts +2 -1
- package/dist/shims/internal/pages-data-target.d.ts +2 -1
- package/dist/shims/internal/pages-data-url.d.ts +2 -1
- package/dist/shims/internal/thenable-well-known-properties.d.ts +2 -1
- package/dist/shims/link.js +195 -52
- package/dist/shims/metadata.d.ts +32 -11
- package/dist/shims/metadata.js +88 -26
- package/dist/shims/navigation-errors.d.ts +2 -1
- package/dist/shims/navigation.d.ts +22 -2
- package/dist/shims/navigation.js +74 -20
- package/dist/shims/pages-router-runtime.d.ts +2 -1
- package/dist/shims/ppr-fallback-shell.d.ts +2 -1
- package/dist/shims/router.js +14 -3
- package/dist/shims/unified-request-context.js +3 -3
- package/dist/typegen.d.ts +2 -1
- package/dist/utils/client-build-manifest.d.ts +4 -1
- package/dist/utils/client-build-manifest.js +9 -2
- package/dist/utils/client-entry-manifest.d.ts +13 -0
- package/dist/utils/client-entry-manifest.js +20 -1
- package/dist/utils/client-reference-chunks.d.ts +45 -0
- package/dist/utils/client-reference-chunks.js +30 -0
- package/dist/utils/client-runtime-metadata.d.ts +9 -1
- package/dist/utils/client-runtime-metadata.js +40 -9
- package/dist/utils/compare.d.ts +9 -0
- package/dist/utils/compare.js +15 -1
- package/dist/utils/lazy-chunks.d.ts +14 -0
- package/dist/utils/lazy-chunks.js +27 -1
- package/dist/utils/middleware-request-headers.d.ts +2 -1
- package/dist/utils/project.d.ts +2 -1
- package/dist/utils/project.js +9 -1
- package/dist/utils/query.d.ts +2 -1
- package/dist/utils/sorted-array.d.ts +2 -1
- package/dist/utils/vite-cli-invocation.d.ts +2 -1
- package/package.json +5 -5
- package/dist/deps/.pnpm/image-size@2.0.2/deps/image-size/dist/index.js +0 -808
- package/dist/server/default-not-found-module.d.ts +0 -19
- package/dist/server/default-not-found-module.js +0 -18
- package/dist/server/rsc-stream-hints.d.ts +0 -21
- package/dist/server/rsc-stream-hints.js +0 -227
|
@@ -1,15 +1,25 @@
|
|
|
1
1
|
import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
|
+
import { magicStringTransformResult, omitUnusedBuildSourcemap } from "./transform-result.js";
|
|
3
|
+
import { resolveShimRuntimeModule } from "../entries/runtime-entry-module.js";
|
|
2
4
|
import { CLIENT_REFERENCE_GROUP_MAX_COST_BYTES, collectClientReferencePreloadPlan, collectClientReferenceRouteSignatures, measureClientReferenceGroupCosts, planClientReferenceGroups, readClientModuleBindings } from "../build/client-reference-groups.js";
|
|
3
|
-
import {
|
|
5
|
+
import { collectAsyncModules, createSideEffectsDeclarationCheck } from "../build/client-reference-async.js";
|
|
6
|
+
import { RESOLVED_EAGER_CLIENT_REFERENCES_ID, hasUserClientChunkGroups } from "../build/client-build-config.js";
|
|
4
7
|
import fs from "node:fs";
|
|
5
8
|
import { isCSSRequest } from "vite";
|
|
9
|
+
import { randomBytes } from "node:crypto";
|
|
10
|
+
import MagicString from "magic-string";
|
|
6
11
|
//#region src/plugins/rsc-client-reference-loaders.ts
|
|
7
12
|
const CLIENT_REFERENCES_ID = "\0virtual:vite-rsc/client-references";
|
|
8
13
|
const RESOLVED_ID_PROXY_PREFIX = "virtual:vite-rsc/resolved-id/";
|
|
9
14
|
const RESOLVED_CLIENT_REFERENCE_GROUP_PREFIX = `\0virtual:vinext-client-reference-group-`;
|
|
15
|
+
/** Prefixes the module that registers one client reference outside every group. */
|
|
16
|
+
const RESOLVED_CLIENT_REFERENCE_MODULE_PREFIX = `\0virtual:vinext-client-reference-module/`;
|
|
10
17
|
const CLIENT_REFERENCES_ID_RE = /^\0virtual:vite-rsc\/client-references$/;
|
|
11
|
-
const
|
|
12
|
-
const
|
|
18
|
+
const CLIENT_REFERENCE_MODULE_RE = /^virtual:vinext-client-reference-(?:group-|module\/)|^virtual:vinext-client-reference-(?:chunks|eager)$/;
|
|
19
|
+
const RESOLVED_CLIENT_REFERENCE_MODULE_RE = /^\0virtual:vinext-client-reference-(?:group-|module\/)|^\0virtual:vinext-client-reference-(?:chunks|eager)$/;
|
|
20
|
+
const CLIENT_REFERENCE_CHUNKS_ID = "virtual:vinext-client-reference-chunks";
|
|
21
|
+
const RESOLVED_CLIENT_REFERENCE_CHUNKS_ID = `\0${CLIENT_REFERENCE_CHUNKS_ID}`;
|
|
22
|
+
const NO_ROUTE_CLIENT_REFERENCES_EXPORT = "export const routeClientReferences = null;\n";
|
|
13
23
|
/**
|
|
14
24
|
* Whether the cost estimate loads a module. Rolldown keeps externals and
|
|
15
25
|
* unresolved `require()`s in `importedIds` under their specifier (a bare name
|
|
@@ -47,50 +57,73 @@ function withResolvedIdProxy(resolvedId) {
|
|
|
47
57
|
function sortedRenderedExports(meta) {
|
|
48
58
|
return meta.renderedExports.slice().sort();
|
|
49
59
|
}
|
|
50
|
-
|
|
51
|
-
|
|
60
|
+
/**
|
|
61
|
+
* The exports of a client reference, read from the module namespace `binding`.
|
|
62
|
+
* Keep them lazy. In async or cyclic client module evaluation, eagerly copying
|
|
63
|
+
* module namespace values can observe an uninitialized binding.
|
|
64
|
+
*/
|
|
65
|
+
function generateClientReferenceObject(meta, binding) {
|
|
66
|
+
const exports = sortedRenderedExports(meta).map((name) => ` get ${JSON.stringify(name)}() { return ${binding}[${JSON.stringify(name)}]; },`).join("\n");
|
|
67
|
+
return exports ? `{\n${exports}\n}` : "{}";
|
|
52
68
|
}
|
|
53
|
-
function
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
69
|
+
function generateClientReferenceLoaders(metas) {
|
|
70
|
+
return `export default {\n${metas.slice().sort((a, b) => a.referenceKey.localeCompare(b.referenceKey)).map((meta) => [
|
|
71
|
+
`${JSON.stringify(meta.referenceKey)}: async () => {`,
|
|
72
|
+
` const m = await import(${JSON.stringify(withResolvedIdProxy(meta.importId))});`,
|
|
73
|
+
` return ${generateClientReferenceObject(meta, "m")};`,
|
|
74
|
+
`},`
|
|
75
|
+
].join("\n")).join("\n")}\n};\n`;
|
|
59
76
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
` },`
|
|
69
|
-
].join("\n");
|
|
70
|
-
}).join("\n")}\n};\n`;
|
|
77
|
+
/**
|
|
78
|
+
* The client build's client-references module, which the App browser entry
|
|
79
|
+
* imports. It names no client reference chunk, so the entry neither grows nor
|
|
80
|
+
* changes its hash with the app's client references: each reference's Flight
|
|
81
|
+
* row names the chunks it loads (see shims/internal/client-reference-loader.ts).
|
|
82
|
+
*/
|
|
83
|
+
function generateBrowserClientReferencesModule(loaderPath, eager) {
|
|
84
|
+
return `${eager ? `import ${JSON.stringify(RESOLVED_EAGER_CLIENT_REFERENCES_ID.slice(1))};\n` : ""}export { clientReferences as default } from ${JSON.stringify(loaderPath)};\n`;
|
|
71
85
|
}
|
|
72
86
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
87
|
+
* A client build module that registers client references as it evaluates:
|
|
88
|
+
* a route group's members, the references in chunks every page loads, or one
|
|
89
|
+
* other reference outside every group. It imports
|
|
90
|
+
* only each member's rendered exports, so unused exports and their
|
|
91
|
+
* dependencies still tree-shake as they do with direct loaders. A member
|
|
92
|
+
* without rendered exports is imported for its side effects. The last member
|
|
93
|
+
* is imported last (see build/client-reference-chunks.ts).
|
|
76
94
|
*/
|
|
77
|
-
function
|
|
78
|
-
|
|
95
|
+
function generateClientReferenceModule(metas, loaderPath) {
|
|
96
|
+
const imports = metas.map((meta, index) => {
|
|
79
97
|
const source = JSON.stringify(withResolvedIdProxy(meta.importId));
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
98
|
+
return meta.renderedExports.length > 0 ? `import * as m${index} from ${source};` : `import ${source};`;
|
|
99
|
+
});
|
|
100
|
+
const registrations = metas.map((meta, index) => `registerClientReference(${JSON.stringify(meta.referenceKey)}, ${generateClientReferenceObject(meta, `m${index}`)});`);
|
|
101
|
+
return [
|
|
102
|
+
`import { registerClientReference } from ${JSON.stringify(loaderPath)};`,
|
|
103
|
+
...imports,
|
|
104
|
+
...registrations,
|
|
105
|
+
""
|
|
106
|
+
].join("\n");
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The browser never loads this module. Its dynamic imports make each client
|
|
110
|
+
* reference module a chunk of its own that only a Flight row names.
|
|
111
|
+
*/
|
|
112
|
+
function generateClientReferenceChunksModule(moduleIds) {
|
|
113
|
+
return `export default [\n${moduleIds.map((id) => ` () => import(${JSON.stringify(id.slice(1))}),`).join("\n")}\n];\n`;
|
|
85
114
|
}
|
|
86
115
|
/**
|
|
87
116
|
* The SSR build's `routeClientReferences` export: the reference keys each route
|
|
88
117
|
* preloads before it renders (see server/app-client-reference-preloader.ts),
|
|
89
118
|
* stored as indices into `references`. Client references the plan doesn't know
|
|
90
|
-
* join `always`.
|
|
119
|
+
* join `always`. `async` holds `asyncPlaceholder`, which renderChunk replaces
|
|
120
|
+
* with the candidates whose SSR modules evaluate asynchronously.
|
|
91
121
|
*/
|
|
92
|
-
function generateRouteClientReferencesExport(plan, metaEntries) {
|
|
93
|
-
if (!plan) return
|
|
122
|
+
function generateRouteClientReferencesExport(plan, metaEntries, asyncPlaceholder) {
|
|
123
|
+
if (!plan) return {
|
|
124
|
+
code: NO_ROUTE_CLIENT_REFERENCES_EXPORT,
|
|
125
|
+
asyncCandidates: []
|
|
126
|
+
};
|
|
94
127
|
const metaById = new Map(metaEntries);
|
|
95
128
|
const references = [];
|
|
96
129
|
const indices = /* @__PURE__ */ new Map();
|
|
@@ -105,14 +138,28 @@ function generateRouteClientReferencesExport(plan, metaEntries) {
|
|
|
105
138
|
}
|
|
106
139
|
return [index];
|
|
107
140
|
});
|
|
141
|
+
const always = toIndices([...plan.preloads.always, ...metaEntries.map(([referenceId]) => referenceId).filter((referenceId) => !plan.referenceIds.has(referenceId))]);
|
|
142
|
+
const files = plan.preloads.files.map(toIndices);
|
|
143
|
+
const asyncCandidates = plan.preloads.staticOnly.flatMap((referenceId) => {
|
|
144
|
+
const index = indices.get(referenceId);
|
|
145
|
+
const meta = metaById.get(referenceId);
|
|
146
|
+
return index === void 0 || !meta ? [] : [{
|
|
147
|
+
index,
|
|
148
|
+
importId: meta.importId
|
|
149
|
+
}];
|
|
150
|
+
});
|
|
108
151
|
const manifest = {
|
|
109
152
|
references,
|
|
110
|
-
always
|
|
111
|
-
files
|
|
153
|
+
always,
|
|
154
|
+
files,
|
|
112
155
|
routes: Object.fromEntries(plan.preloads.routes),
|
|
113
|
-
routeless: plan.preloads.routeless
|
|
156
|
+
routeless: plan.preloads.routeless,
|
|
157
|
+
async: asyncPlaceholder
|
|
158
|
+
};
|
|
159
|
+
return {
|
|
160
|
+
code: `export const routeClientReferences = ${JSON.stringify(manifest)};\n`,
|
|
161
|
+
asyncCandidates
|
|
114
162
|
};
|
|
115
|
-
return `export const routeClientReferences = ${JSON.stringify(manifest)};\n`;
|
|
116
163
|
}
|
|
117
164
|
/**
|
|
118
165
|
* Replaces @vitejs/plugin-rsc's client-reference facades with per-reference
|
|
@@ -126,13 +173,17 @@ function generateRouteClientReferencesExport(plan, metaEntries) {
|
|
|
126
173
|
function createRscClientReferenceLoadersPlugin(options = {}) {
|
|
127
174
|
const { routes: routeOptions } = options;
|
|
128
175
|
const grouping = routeOptions && options.grouping;
|
|
176
|
+
const loaderPath = resolveShimRuntimeModule("internal/client-reference-loader");
|
|
129
177
|
let rscApi;
|
|
130
178
|
let root = "";
|
|
131
179
|
let groupingEnabled = false;
|
|
132
180
|
let routeSignatures = /* @__PURE__ */ new Map();
|
|
133
181
|
// @vitejs/plugin-rsc also builds before the SSR environment.
|
|
134
182
|
let preloadPlan = null;
|
|
135
|
-
const
|
|
183
|
+
const referenceModules = /* @__PURE__ */ new Map();
|
|
184
|
+
let asyncCandidates = [];
|
|
185
|
+
const asyncPlaceholder = `__vinext_async_client_references_${randomBytes(8).toString("hex")}__`;
|
|
186
|
+
const asyncPlaceholderRe = new RegExp(`(["'])${asyncPlaceholder}\\1`, "g");
|
|
136
187
|
return {
|
|
137
188
|
name: "vinext:rsc-client-reference-loaders",
|
|
138
189
|
enforce: "post",
|
|
@@ -152,7 +203,10 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
|
|
|
152
203
|
routeSignatures = /* @__PURE__ */ new Map();
|
|
153
204
|
preloadPlan = null;
|
|
154
205
|
}
|
|
155
|
-
if (this.environment.name === "client")
|
|
206
|
+
if (this.environment.name === "client") {
|
|
207
|
+
referenceModules.clear();
|
|
208
|
+
options.onClientReferenceModules?.(/* @__PURE__ */ new Map());
|
|
209
|
+
}
|
|
156
210
|
},
|
|
157
211
|
buildEnd(error) {
|
|
158
212
|
if (error || !routeOptions) return;
|
|
@@ -185,15 +239,15 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
|
|
|
185
239
|
});
|
|
186
240
|
},
|
|
187
241
|
resolveId: {
|
|
188
|
-
filter: { id:
|
|
242
|
+
filter: { id: CLIENT_REFERENCE_MODULE_RE },
|
|
189
243
|
handler(source) {
|
|
190
|
-
return
|
|
244
|
+
return referenceModules.has(`\0${source}`) ? `\0${source}` : null;
|
|
191
245
|
}
|
|
192
246
|
},
|
|
193
247
|
load: {
|
|
194
|
-
filter: { id:
|
|
248
|
+
filter: { id: RESOLVED_CLIENT_REFERENCE_MODULE_RE },
|
|
195
249
|
handler(id) {
|
|
196
|
-
return
|
|
250
|
+
return referenceModules.get(id) ?? null;
|
|
197
251
|
}
|
|
198
252
|
},
|
|
199
253
|
transform: {
|
|
@@ -204,16 +258,23 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
|
|
|
204
258
|
const isServer = this.environment.config.consumer === "server";
|
|
205
259
|
const metaEntries = Object.entries(manager.clientReferenceMetaMap).filter(([, meta]) => meta.serverChunk);
|
|
206
260
|
const metas = metaEntries.map(([, meta]) => meta);
|
|
207
|
-
|
|
261
|
+
let routeClientReferencesExport = "";
|
|
262
|
+
if (isServer) {
|
|
263
|
+
const generated = generateRouteClientReferencesExport(preloadPlan, metaEntries, asyncPlaceholder);
|
|
264
|
+
routeClientReferencesExport = generated.code;
|
|
265
|
+
asyncCandidates = generated.asyncCandidates;
|
|
266
|
+
}
|
|
208
267
|
if (metas.length === 0) return isServer ? {
|
|
209
268
|
code: `${code}\n${routeClientReferencesExport}`,
|
|
210
269
|
map: null
|
|
211
270
|
} : null;
|
|
212
271
|
for (const [id, meta] of metaEntries) meta.groupChunkId = id;
|
|
213
|
-
const
|
|
272
|
+
const isClientBuild = this.environment.name === "client" && this.environment.mode === "build";
|
|
273
|
+
const moduleKeys = /* @__PURE__ */ new Map();
|
|
274
|
+
const grouped = /* @__PURE__ */ new Set();
|
|
214
275
|
const referenceIds = new Set(metaEntries.map(([referenceId]) => referenceId));
|
|
215
276
|
const referenceKeys = new Map(metaEntries.map(([referenceId, meta]) => [referenceId, meta.referenceKey]));
|
|
216
|
-
if (grouping && groupingEnabled &&
|
|
277
|
+
if (grouping && groupingEnabled && isClientBuild && planClientReferenceGroups({
|
|
217
278
|
referenceIds,
|
|
218
279
|
referenceKeys,
|
|
219
280
|
signatures: routeSignatures,
|
|
@@ -241,7 +302,6 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
|
|
|
241
302
|
addResolution(resolved);
|
|
242
303
|
}));
|
|
243
304
|
const { external } = this.environment.config.build.rolldownOptions;
|
|
244
|
-
const moduleInfos = /* @__PURE__ */ new Map();
|
|
245
305
|
const excludedById = /* @__PURE__ */ new Map();
|
|
246
306
|
const isExcludedById = (moduleId) => {
|
|
247
307
|
let excluded = excludedById.get(moduleId);
|
|
@@ -261,9 +321,7 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
|
|
|
261
321
|
importedIds: []
|
|
262
322
|
};
|
|
263
323
|
}
|
|
264
|
-
const
|
|
265
|
-
moduleInfos.set(moduleId, info);
|
|
266
|
-
const { code, importedIds } = info;
|
|
324
|
+
const { code, importedIds } = await this.load(resolutions.get(moduleId) ?? { id: moduleId });
|
|
267
325
|
if (code === null) return {
|
|
268
326
|
code,
|
|
269
327
|
importedIds
|
|
@@ -303,12 +361,6 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
|
|
|
303
361
|
isSideEffectFree: (moduleId) => packages.get(moduleId)?.moduleSideEffects === false,
|
|
304
362
|
isExcluded: (moduleId) => externalIds.has(moduleId) || isExcludedById(moduleId)
|
|
305
363
|
});
|
|
306
|
-
for (const [referenceId, meta] of metaEntries) {
|
|
307
|
-
const moduleId = references.get(referenceId);
|
|
308
|
-
const info = moduleId === void 0 ? void 0 : moduleInfos.get(moduleId);
|
|
309
|
-
if (!info || info.inputFormat === "cjs") continue;
|
|
310
|
-
if (meta.renderedExports.some((name) => !info.exports.includes(name))) costs.set(referenceId, null);
|
|
311
|
-
}
|
|
312
364
|
const groups = planClientReferenceGroups({
|
|
313
365
|
referenceIds,
|
|
314
366
|
referenceKeys,
|
|
@@ -320,21 +372,71 @@ function createRscClientReferenceLoadersPlugin(options = {}) {
|
|
|
320
372
|
for (const group of groups) {
|
|
321
373
|
const groupMetas = group.referenceIds.map((referenceId) => metaById.get(referenceId));
|
|
322
374
|
const resolvedGroupId = `${RESOLVED_CLIENT_REFERENCE_GROUP_PREFIX}${group.key}`;
|
|
323
|
-
|
|
324
|
-
groupMetas.
|
|
375
|
+
referenceModules.set(resolvedGroupId, generateClientReferenceModule(groupMetas, loaderPath));
|
|
376
|
+
moduleKeys.set(resolvedGroupId, groupMetas.map((meta) => meta.referenceKey));
|
|
377
|
+
for (const meta of groupMetas) {
|
|
325
378
|
meta.groupChunkId = resolvedGroupId;
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
index
|
|
329
|
-
});
|
|
330
|
-
});
|
|
379
|
+
grouped.add(meta);
|
|
380
|
+
}
|
|
331
381
|
}
|
|
332
382
|
}
|
|
383
|
+
if (isClientBuild) {
|
|
384
|
+
const eager = [];
|
|
385
|
+
for (const [referenceId, meta] of metaEntries) {
|
|
386
|
+
if (grouped.has(meta)) continue;
|
|
387
|
+
if (grouping && groupingEnabled && grouping.isAlwaysLoadedClientModule(referenceId)) {
|
|
388
|
+
eager.push(meta);
|
|
389
|
+
continue;
|
|
390
|
+
}
|
|
391
|
+
const fileName = path.basename(meta.importId).replace(/\.[^.]*$/, "");
|
|
392
|
+
const moduleId = `${RESOLVED_CLIENT_REFERENCE_MODULE_PREFIX}${meta.referenceKey}/${fileName}`;
|
|
393
|
+
referenceModules.set(moduleId, generateClientReferenceModule([meta], loaderPath));
|
|
394
|
+
moduleKeys.set(moduleId, [meta.referenceKey]);
|
|
395
|
+
meta.groupChunkId = moduleId;
|
|
396
|
+
}
|
|
397
|
+
if (eager.length > 0) referenceModules.set(RESOLVED_EAGER_CLIENT_REFERENCES_ID, generateClientReferenceModule(eager, loaderPath));
|
|
398
|
+
referenceModules.set(RESOLVED_CLIENT_REFERENCE_CHUNKS_ID, generateClientReferenceChunksModule([...moduleKeys.keys()].sort()));
|
|
399
|
+
this.emitFile({
|
|
400
|
+
type: "chunk",
|
|
401
|
+
id: CLIENT_REFERENCE_CHUNKS_ID,
|
|
402
|
+
preserveSignature: "strict"
|
|
403
|
+
});
|
|
404
|
+
options.onClientReferenceModules?.(moduleKeys);
|
|
405
|
+
return {
|
|
406
|
+
code: generateBrowserClientReferencesModule(loaderPath, eager.length > 0),
|
|
407
|
+
map: null
|
|
408
|
+
};
|
|
409
|
+
}
|
|
333
410
|
return {
|
|
334
|
-
code: generateClientReferenceLoaders(metas
|
|
411
|
+
code: generateClientReferenceLoaders(metas) + routeClientReferencesExport,
|
|
335
412
|
map: null
|
|
336
413
|
};
|
|
337
414
|
}
|
|
415
|
+
},
|
|
416
|
+
async renderChunk(code, _chunk, _outputOptions, meta) {
|
|
417
|
+
if (this.environment.config.consumer !== "server") return null;
|
|
418
|
+
if (!code.includes(asyncPlaceholder)) return null;
|
|
419
|
+
const roots = /* @__PURE__ */ new Map();
|
|
420
|
+
await Promise.all(asyncCandidates.map(async ({ index, importId }) => {
|
|
421
|
+
let id = importId;
|
|
422
|
+
if (!importId.startsWith("\0") && !path.isAbsolute(importId)) {
|
|
423
|
+
const resolved = await this.resolve(importId);
|
|
424
|
+
id = resolved && !resolved.external ? resolved.id : void 0;
|
|
425
|
+
}
|
|
426
|
+
if (id === void 0) return;
|
|
427
|
+
let list = roots.get(id);
|
|
428
|
+
if (!list) roots.set(id, list = []);
|
|
429
|
+
list.push(index);
|
|
430
|
+
}));
|
|
431
|
+
const asyncIndices = [...collectAsyncModules({
|
|
432
|
+
roots: [...roots.keys()],
|
|
433
|
+
getModuleInfo: (id) => this.getModuleInfo(id),
|
|
434
|
+
chunks: Object.values(meta.chunks),
|
|
435
|
+
declaresSideEffects: createSideEffectsDeclarationCheck()
|
|
436
|
+
})].flatMap((id) => roots.get(id)).sort((a, b) => a - b);
|
|
437
|
+
const output = new MagicString(code);
|
|
438
|
+
for (const match of code.matchAll(asyncPlaceholderRe)) output.overwrite(match.index, match.index + match[0].length, JSON.stringify(asyncIndices));
|
|
439
|
+
return omitUnusedBuildSourcemap(this.environment, magicStringTransformResult(output));
|
|
338
440
|
}
|
|
339
441
|
};
|
|
340
442
|
}
|
|
@@ -353,7 +455,7 @@ function createRouteClientReferencesFallbackPlugin() {
|
|
|
353
455
|
handler(code) {
|
|
354
456
|
if (this.environment.config.consumer !== "server") return null;
|
|
355
457
|
return {
|
|
356
|
-
code: `${code}\n${
|
|
458
|
+
code: `${code}\n${NO_ROUTE_CLIENT_REFERENCES_EXPORT}`,
|
|
357
459
|
map: null
|
|
358
460
|
};
|
|
359
461
|
}
|
|
@@ -361,4 +463,4 @@ function createRouteClientReferencesFallbackPlugin() {
|
|
|
361
463
|
};
|
|
362
464
|
}
|
|
363
465
|
//#endregion
|
|
364
|
-
export { createRouteClientReferencesFallbackPlugin, createRscClientReferenceLoadersPlugin };
|
|
466
|
+
export { RESOLVED_CLIENT_REFERENCE_CHUNKS_ID, RESOLVED_CLIENT_REFERENCE_MODULE_PREFIX, createRouteClientReferencesFallbackPlugin, createRscClientReferenceLoadersPlugin };
|
|
@@ -18,7 +18,9 @@ const VINEXT_OPTIMIZE_DEPS_EXCLUDE = Object.freeze([
|
|
|
18
18
|
const SSR_EXTERNAL_REACT_ENTRIES = Object.freeze([
|
|
19
19
|
"react",
|
|
20
20
|
"react-dom",
|
|
21
|
+
"react-dom/server",
|
|
21
22
|
"react-dom/server.edge",
|
|
23
|
+
"react-dom/static",
|
|
22
24
|
"react-dom/static.edge",
|
|
23
25
|
"react/jsx-runtime",
|
|
24
26
|
"react/jsx-dev-runtime",
|
package/dist/plugins/sass.d.ts
CHANGED
|
@@ -25,4 +25,5 @@ export declare function getTypeofWindowReplacement(environment: EnvironmentLike)
|
|
|
25
25
|
export declare function mayFoldChangeScannedImports(code: string): boolean;
|
|
26
26
|
export declare function replaceTypeofWindow(code: string, replacement: WindowType, id?: string): MagicStringTransformResult<import("magic-string").SourceMap> | null;
|
|
27
27
|
export declare function replaceConsumerEnvironmentConditions(code: string, replacements: ConsumerEnvironmentReplacements, id?: string): MagicStringTransformResult<import("magic-string").SourceMap> | null;
|
|
28
|
-
//#endregion
|
|
28
|
+
//#endregion
|
|
29
|
+
export {};
|
|
@@ -42,7 +42,7 @@ function createWorkerImageImportsPlugin(options = {}) {
|
|
|
42
42
|
let dimensions = dimensionCache.get(imagePath);
|
|
43
43
|
if (!dimensions) {
|
|
44
44
|
try {
|
|
45
|
-
const { imageSize } = await import("../deps/.pnpm/image-size@2.0.
|
|
45
|
+
const { imageSize } = await import("../deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/index.js");
|
|
46
46
|
const result = imageSize(fs.readFileSync(imagePath));
|
|
47
47
|
dimensions = {
|
|
48
48
|
width: result.width ?? 0,
|
|
@@ -44,6 +44,30 @@ type InterceptingRoute = {
|
|
|
44
44
|
notFoundBranchSegments?: string[];
|
|
45
45
|
/** Tree position relative to the normalized interception branch. */
|
|
46
46
|
notFoundTreePosition?: number | null;
|
|
47
|
+
/** Nearest forbidden convention inside the interception branch. */
|
|
48
|
+
forbiddenPath?: string | null;
|
|
49
|
+
/** Tree position relative to the normalized interception branch. */
|
|
50
|
+
forbiddenTreePosition?: number | null;
|
|
51
|
+
/** Nearest unauthorized convention inside the interception branch. */
|
|
52
|
+
unauthorizedPath?: string | null;
|
|
53
|
+
/** Tree position relative to the normalized interception branch. */
|
|
54
|
+
unauthorizedTreePosition?: number | null;
|
|
55
|
+
/** Every not-found convention inside the interception branch, outermost first. */
|
|
56
|
+
notFoundPaths?: string[];
|
|
57
|
+
/** Tree positions for notFoundPaths in the normalized interception branch. */
|
|
58
|
+
notFoundTreePositions?: number[];
|
|
59
|
+
/** Every forbidden convention inside the interception branch, outermost first. */
|
|
60
|
+
forbiddenPaths?: string[];
|
|
61
|
+
/** Tree positions for forbiddenPaths in the normalized interception branch. */
|
|
62
|
+
forbiddenTreePositions?: number[];
|
|
63
|
+
/** Every unauthorized convention inside the interception branch, outermost first. */
|
|
64
|
+
unauthorizedPaths?: string[];
|
|
65
|
+
/** Tree positions for unauthorizedPaths in the normalized interception branch. */
|
|
66
|
+
unauthorizedTreePositions?: number[];
|
|
67
|
+
/** Every error convention inside the interception branch, outermost first. */
|
|
68
|
+
errorPaths?: string[];
|
|
69
|
+
/** Tree positions for errorPaths in the normalized interception branch. */
|
|
70
|
+
errorTreePositions?: number[];
|
|
47
71
|
/** Parameter names for dynamic segments */
|
|
48
72
|
params: string[];
|
|
49
73
|
/**
|
|
@@ -89,6 +113,10 @@ type ParallelSlot = {
|
|
|
89
113
|
notFoundPath?: string | null;
|
|
90
114
|
/** Tree position of that convention relative to the slot root. */
|
|
91
115
|
notFoundTreePosition?: number | null;
|
|
116
|
+
/** Every not-found convention from the slot root to its active page, outermost first. */
|
|
117
|
+
notFoundPaths?: string[];
|
|
118
|
+
/** Slot-root-relative tree positions aligned with notFoundPaths. */
|
|
119
|
+
notFoundTreePositions?: number[];
|
|
92
120
|
/** Intercepting routes within this slot */
|
|
93
121
|
interceptingRoutes: InterceptingRoute[];
|
|
94
122
|
/**
|
|
@@ -191,6 +219,18 @@ export type AppRoute = {
|
|
|
191
219
|
unauthorizedTreePosition?: number | null;
|
|
192
220
|
/** Unauthorized component paths per layout level (aligned with layouts array). */
|
|
193
221
|
unauthorizedPaths: (string | null)[];
|
|
222
|
+
/**
|
|
223
|
+
* Not-found, forbidden and unauthorized component paths for every segment
|
|
224
|
+
* from app/ to the route's directory, including segments without a layout,
|
|
225
|
+
* aligned with the matching tree positions. A layout's notFound() is caught
|
|
226
|
+
* by the deepest of these above the layout's own segment.
|
|
227
|
+
*/
|
|
228
|
+
segmentNotFoundPaths?: string[];
|
|
229
|
+
segmentNotFoundTreePositions?: number[];
|
|
230
|
+
segmentForbiddenPaths?: string[];
|
|
231
|
+
segmentForbiddenTreePositions?: number[];
|
|
232
|
+
segmentUnauthorizedPaths?: string[];
|
|
233
|
+
segmentUnauthorizedTreePositions?: number[];
|
|
194
234
|
/**
|
|
195
235
|
* Filesystem segments from app/ root to the route's directory.
|
|
196
236
|
* Includes route groups and dynamic segments (as template strings like "[id]").
|