@qzsy/vinext 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +773 -0
- package/dist/build/assets-ignore.d.ts +32 -0
- package/dist/build/assets-ignore.js +48 -0
- package/dist/build/clean-output.d.ts +13 -0
- package/dist/build/clean-output.js +34 -0
- package/dist/build/client-build-config.d.ts +171 -0
- package/dist/build/client-build-config.js +270 -0
- package/dist/build/css-url-assets.d.ts +29 -0
- package/dist/build/css-url-assets.js +213 -0
- package/dist/build/google-fonts/build-url.d.ts +9 -0
- package/dist/build/google-fonts/build-url.js +28 -0
- package/dist/build/google-fonts/fallback-metrics-data.js +14029 -0
- package/dist/build/google-fonts/fallback-metrics.d.ts +12 -0
- package/dist/build/google-fonts/fallback-metrics.js +44 -0
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +16 -0
- package/dist/build/google-fonts/find-font-files-in-css.js +28 -0
- package/dist/build/google-fonts/font-data.js +24983 -0
- package/dist/build/google-fonts/font-metadata.d.ts +16 -0
- package/dist/build/google-fonts/font-metadata.js +5 -0
- package/dist/build/google-fonts/get-axes.d.ts +6 -0
- package/dist/build/google-fonts/get-axes.js +37 -0
- package/dist/build/google-fonts/sort-variants.d.ts +4 -0
- package/dist/build/google-fonts/sort-variants.js +12 -0
- package/dist/build/google-fonts/validate.d.ts +27 -0
- package/dist/build/google-fonts/validate.js +54 -0
- package/dist/build/inline-css.d.ts +6 -0
- package/dist/build/inline-css.js +48 -0
- package/dist/build/layout-classification-types.d.ts +61 -0
- package/dist/build/layout-classification-types.js +1 -0
- package/dist/build/layout-classification.d.ts +59 -0
- package/dist/build/layout-classification.js +98 -0
- package/dist/build/next-client-runtime-manifests.d.ts +14 -0
- package/dist/build/next-client-runtime-manifests.js +39 -0
- package/dist/build/nitro-route-rules.d.ts +49 -0
- package/dist/build/nitro-route-rules.js +79 -0
- package/dist/build/precompress.d.ts +27 -0
- package/dist/build/precompress.js +110 -0
- package/dist/build/prerender.d.ts +209 -0
- package/dist/build/prerender.js +932 -0
- package/dist/build/report.d.ts +132 -0
- package/dist/build/report.js +504 -0
- package/dist/build/route-classification-injector.d.ts +34 -0
- package/dist/build/route-classification-injector.js +59 -0
- package/dist/build/route-classification-manifest.d.ts +52 -0
- package/dist/build/route-classification-manifest.js +143 -0
- package/dist/build/run-prerender.d.ts +61 -0
- package/dist/build/run-prerender.js +224 -0
- package/dist/build/server-manifest.d.ts +18 -0
- package/dist/build/server-manifest.js +22 -0
- package/dist/build/ssr-manifest.d.ts +18 -0
- package/dist/build/ssr-manifest.js +69 -0
- package/dist/build/standalone.d.ts +31 -0
- package/dist/build/standalone.js +203 -0
- package/dist/build/static-export.d.ts +55 -0
- package/dist/build/static-export.js +60 -0
- package/dist/cache/cache-adapters-virtual.d.ts +50 -0
- package/dist/cache/cache-adapters-virtual.js +45 -0
- package/dist/cache.d.ts +2 -0
- package/dist/cache.js +2 -0
- package/dist/check.d.ts +87 -0
- package/dist/check.js +1037 -0
- package/dist/cli-args.d.ts +33 -0
- package/dist/cli-args.js +124 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +744 -0
- package/dist/client/app-nav-failure-handler.d.ts +8 -0
- package/dist/client/app-nav-failure-handler.js +44 -0
- package/dist/client/empty-module.d.ts +1 -0
- package/dist/client/empty-module.js +1 -0
- package/dist/client/instrumentation-client-inject.d.ts +33 -0
- package/dist/client/instrumentation-client-inject.js +55 -0
- package/dist/client/instrumentation-client-state.d.ts +9 -0
- package/dist/client/instrumentation-client-state.js +17 -0
- package/dist/client/instrumentation-client.d.ts +7 -0
- package/dist/client/instrumentation-client.js +6 -0
- package/dist/client/navigation-runtime.d.ts +70 -0
- package/dist/client/navigation-runtime.js +169 -0
- package/dist/client/pages-router-link-navigation.d.ts +61 -0
- package/dist/client/pages-router-link-navigation.js +42 -0
- package/dist/client/validate-module-path.d.ts +17 -0
- package/dist/client/validate-module-path.js +24 -0
- package/dist/client/vinext-next-data.d.ts +44 -0
- package/dist/client/vinext-next-data.js +50 -0
- package/dist/client/window-next.d.ts +168 -0
- package/dist/client/window-next.js +57 -0
- package/dist/cloudflare/index.d.ts +3 -0
- package/dist/cloudflare/index.js +3 -0
- package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +102 -0
- package/dist/cloudflare/src/cache/kv-data-adapter.runtime.d.ts +126 -0
- package/dist/cloudflare/src/cache/kv-data-adapter.runtime.js +435 -0
- package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
- package/dist/cloudflare/tpr.d.ts +82 -0
- package/dist/cloudflare/tpr.js +558 -0
- package/dist/config/config-matchers.d.ts +257 -0
- package/dist/config/config-matchers.js +1046 -0
- package/dist/config/dotenv.d.ts +56 -0
- package/dist/config/dotenv.js +88 -0
- package/dist/config/next-config.d.ts +540 -0
- package/dist/config/next-config.js +1050 -0
- package/dist/config/tsconfig-paths.d.ts +21 -0
- package/dist/config/tsconfig-paths.js +157 -0
- package/dist/deploy.d.ts +190 -0
- package/dist/deploy.js +1033 -0
- package/dist/entries/app-browser-entry.d.ts +29 -0
- package/dist/entries/app-browser-entry.js +83 -0
- package/dist/entries/app-rsc-entry.d.ts +81 -0
- package/dist/entries/app-rsc-entry.js +943 -0
- package/dist/entries/app-rsc-manifest.d.ts +53 -0
- package/dist/entries/app-rsc-manifest.js +294 -0
- package/dist/entries/app-ssr-entry.d.ts +15 -0
- package/dist/entries/app-ssr-entry.js +24 -0
- package/dist/entries/pages-client-entry.d.ts +11 -0
- package/dist/entries/pages-client-entry.js +204 -0
- package/dist/entries/pages-entry-helpers.d.ts +2 -0
- package/dist/entries/pages-entry-helpers.js +2 -0
- package/dist/entries/pages-server-entry.d.ts +11 -0
- package/dist/entries/pages-server-entry.js +398 -0
- package/dist/entries/runtime-entry-module.d.ts +25 -0
- package/dist/entries/runtime-entry-module.js +46 -0
- package/dist/index.d.ts +115 -0
- package/dist/index.js +2661 -0
- package/dist/init.d.ts +69 -0
- package/dist/init.js +253 -0
- package/dist/plugins/ast-utils.d.ts +20 -0
- package/dist/plugins/ast-utils.js +78 -0
- package/dist/plugins/async-hooks-stub.d.ts +18 -0
- package/dist/plugins/async-hooks-stub.js +40 -0
- package/dist/plugins/client-reference-dedup.d.ts +35 -0
- package/dist/plugins/client-reference-dedup.js +189 -0
- package/dist/plugins/css-data-url.d.ts +6 -0
- package/dist/plugins/css-data-url.js +83 -0
- package/dist/plugins/dynamic-preload-metadata.d.ts +13 -0
- package/dist/plugins/dynamic-preload-metadata.js +413 -0
- package/dist/plugins/extensionless-dynamic-import.d.ts +6 -0
- package/dist/plugins/extensionless-dynamic-import.js +155 -0
- package/dist/plugins/fonts.d.ts +95 -0
- package/dist/plugins/fonts.js +711 -0
- package/dist/plugins/import-meta-url.d.ts +16 -0
- package/dist/plugins/import-meta-url.js +353 -0
- package/dist/plugins/instrumentation-client.d.ts +6 -0
- package/dist/plugins/instrumentation-client.js +27 -0
- package/dist/plugins/middleware-export-validation.d.ts +5 -0
- package/dist/plugins/middleware-export-validation.js +36 -0
- package/dist/plugins/middleware-server-only.d.ts +53 -0
- package/dist/plugins/middleware-server-only.js +90 -0
- package/dist/plugins/og-asset-ownership.d.ts +27 -0
- package/dist/plugins/og-asset-ownership.js +285 -0
- package/dist/plugins/og-assets.d.ts +50 -0
- package/dist/plugins/og-assets.js +229 -0
- package/dist/plugins/optimize-imports.d.ts +42 -0
- package/dist/plugins/optimize-imports.js +587 -0
- package/dist/plugins/postcss.d.ts +26 -0
- package/dist/plugins/postcss.js +96 -0
- package/dist/plugins/remove-console.d.ts +21 -0
- package/dist/plugins/remove-console.js +177 -0
- package/dist/plugins/require-context.d.ts +6 -0
- package/dist/plugins/require-context.js +185 -0
- package/dist/plugins/rsc-client-reference-loaders.d.ts +6 -0
- package/dist/plugins/rsc-client-reference-loaders.js +46 -0
- package/dist/plugins/rsc-client-shim-excludes.d.ts +6 -0
- package/dist/plugins/rsc-client-shim-excludes.js +35 -0
- package/dist/plugins/sass.d.ts +62 -0
- package/dist/plugins/sass.js +268 -0
- package/dist/plugins/server-externals-manifest.d.ts +26 -0
- package/dist/plugins/server-externals-manifest.js +81 -0
- package/dist/plugins/strip-server-exports.d.ts +21 -0
- package/dist/plugins/strip-server-exports.js +519 -0
- package/dist/plugins/typeof-window.d.ts +14 -0
- package/dist/plugins/typeof-window.js +150 -0
- package/dist/plugins/wasm-module-import.d.ts +15 -0
- package/dist/plugins/wasm-module-import.js +50 -0
- package/dist/routing/app-route-graph.d.ts +336 -0
- package/dist/routing/app-route-graph.js +1518 -0
- package/dist/routing/app-router.d.ts +30 -0
- package/dist/routing/app-router.js +59 -0
- package/dist/routing/file-matcher.d.ts +60 -0
- package/dist/routing/file-matcher.js +147 -0
- package/dist/routing/pages-router.d.ts +48 -0
- package/dist/routing/pages-router.js +163 -0
- package/dist/routing/route-matching.d.ts +27 -0
- package/dist/routing/route-matching.js +42 -0
- package/dist/routing/route-pattern.d.ts +64 -0
- package/dist/routing/route-pattern.js +165 -0
- package/dist/routing/route-trie.d.ts +67 -0
- package/dist/routing/route-trie.js +143 -0
- package/dist/routing/route-validation.d.ts +10 -0
- package/dist/routing/route-validation.js +101 -0
- package/dist/routing/utils.d.ts +117 -0
- package/dist/routing/utils.js +242 -0
- package/dist/server/accept-encoding.d.ts +29 -0
- package/dist/server/accept-encoding.js +95 -0
- package/dist/server/api-handler.d.ts +17 -0
- package/dist/server/api-handler.js +276 -0
- package/dist/server/app-action-request.d.ts +4 -0
- package/dist/server/app-action-request.js +9 -0
- package/dist/server/app-bfcache-id.d.ts +5 -0
- package/dist/server/app-bfcache-id.js +5 -0
- package/dist/server/app-bfcache-identity.d.ts +36 -0
- package/dist/server/app-bfcache-identity.js +156 -0
- package/dist/server/app-browser-action-result.d.ts +64 -0
- package/dist/server/app-browser-action-result.js +111 -0
- package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
- package/dist/server/app-browser-client-reuse-manifest.js +101 -0
- package/dist/server/app-browser-entry.d.ts +1 -0
- package/dist/server/app-browser-entry.js +1087 -0
- package/dist/server/app-browser-error.d.ts +13 -0
- package/dist/server/app-browser-error.js +52 -0
- package/dist/server/app-browser-history-controller.d.ts +104 -0
- package/dist/server/app-browser-history-controller.js +210 -0
- package/dist/server/app-browser-hydration.d.ts +32 -0
- package/dist/server/app-browser-hydration.js +29 -0
- package/dist/server/app-browser-interception-context.d.ts +24 -0
- package/dist/server/app-browser-interception-context.js +43 -0
- package/dist/server/app-browser-mpa-navigation.d.ts +16 -0
- package/dist/server/app-browser-mpa-navigation.js +42 -0
- package/dist/server/app-browser-navigation-controller.d.ts +109 -0
- package/dist/server/app-browser-navigation-controller.js +465 -0
- package/dist/server/app-browser-popstate.d.ts +26 -0
- package/dist/server/app-browser-popstate.js +44 -0
- package/dist/server/app-browser-rsc-redirect.d.ts +38 -0
- package/dist/server/app-browser-rsc-redirect.js +64 -0
- package/dist/server/app-browser-server-action-client.d.ts +32 -0
- package/dist/server/app-browser-server-action-client.js +128 -0
- package/dist/server/app-browser-server-action-navigation.d.ts +6 -0
- package/dist/server/app-browser-server-action-navigation.js +9 -0
- package/dist/server/app-browser-state.d.ts +140 -0
- package/dist/server/app-browser-state.js +315 -0
- package/dist/server/app-browser-stream.d.ts +28 -0
- package/dist/server/app-browser-stream.js +122 -0
- package/dist/server/app-browser-visible-commit.d.ts +78 -0
- package/dist/server/app-browser-visible-commit.js +241 -0
- package/dist/server/app-client-reference-preloader.d.ts +14 -0
- package/dist/server/app-client-reference-preloader.js +44 -0
- package/dist/server/app-elements-wire.d.ts +192 -0
- package/dist/server/app-elements-wire.js +443 -0
- package/dist/server/app-elements.d.ts +9 -0
- package/dist/server/app-elements.js +18 -0
- package/dist/server/app-fallback-renderer.d.ts +89 -0
- package/dist/server/app-fallback-renderer.js +136 -0
- package/dist/server/app-history-state.d.ts +85 -0
- package/dist/server/app-history-state.js +223 -0
- package/dist/server/app-hook-warning-suppression.d.ts +6 -0
- package/dist/server/app-hook-warning-suppression.js +10 -0
- package/dist/server/app-inline-css-client.d.ts +6 -0
- package/dist/server/app-inline-css-client.js +35 -0
- package/dist/server/app-interception-context-header.d.ts +32 -0
- package/dist/server/app-interception-context-header.js +42 -0
- package/dist/server/app-layout-param-observation.d.ts +43 -0
- package/dist/server/app-layout-param-observation.js +168 -0
- package/dist/server/app-middleware.d.ts +46 -0
- package/dist/server/app-middleware.js +168 -0
- package/dist/server/app-mounted-slots-header.d.ts +35 -0
- package/dist/server/app-mounted-slots-header.js +58 -0
- package/dist/server/app-optimistic-routing.d.ts +53 -0
- package/dist/server/app-optimistic-routing.js +227 -0
- package/dist/server/app-page-boundary-render.d.ts +85 -0
- package/dist/server/app-page-boundary-render.js +305 -0
- package/dist/server/app-page-boundary.d.ts +102 -0
- package/dist/server/app-page-boundary.js +120 -0
- package/dist/server/app-page-cache-finalizer.d.ts +62 -0
- package/dist/server/app-page-cache-finalizer.js +122 -0
- package/dist/server/app-page-cache-render.d.ts +53 -0
- package/dist/server/app-page-cache-render.js +91 -0
- package/dist/server/app-page-cache.d.ts +83 -0
- package/dist/server/app-page-cache.js +272 -0
- package/dist/server/app-page-dispatch.d.ts +223 -0
- package/dist/server/app-page-dispatch.js +610 -0
- package/dist/server/app-page-element-builder.d.ts +96 -0
- package/dist/server/app-page-element-builder.js +205 -0
- package/dist/server/app-page-execution.d.ts +138 -0
- package/dist/server/app-page-execution.js +328 -0
- package/dist/server/app-page-head.d.ts +65 -0
- package/dist/server/app-page-head.js +228 -0
- package/dist/server/app-page-method.d.ts +15 -0
- package/dist/server/app-page-method.js +25 -0
- package/dist/server/app-page-params.d.ts +8 -0
- package/dist/server/app-page-params.js +39 -0
- package/dist/server/app-page-ppr-runtime.d.ts +7 -0
- package/dist/server/app-page-ppr-runtime.js +70 -0
- package/dist/server/app-page-probe.d.ts +134 -0
- package/dist/server/app-page-probe.js +276 -0
- package/dist/server/app-page-render-identity.d.ts +21 -0
- package/dist/server/app-page-render-identity.js +40 -0
- package/dist/server/app-page-render-observation.d.ts +36 -0
- package/dist/server/app-page-render-observation.js +82 -0
- package/dist/server/app-page-render.d.ts +111 -0
- package/dist/server/app-page-render.js +602 -0
- package/dist/server/app-page-request.d.ts +137 -0
- package/dist/server/app-page-request.js +216 -0
- package/dist/server/app-page-response.d.ts +68 -0
- package/dist/server/app-page-response.js +120 -0
- package/dist/server/app-page-route-wiring.d.ts +151 -0
- package/dist/server/app-page-route-wiring.js +452 -0
- package/dist/server/app-page-search-params-observation.d.ts +10 -0
- package/dist/server/app-page-search-params-observation.js +20 -0
- package/dist/server/app-page-segment-state.d.ts +9 -0
- package/dist/server/app-page-segment-state.js +80 -0
- package/dist/server/app-page-stream.d.ts +151 -0
- package/dist/server/app-page-stream.js +143 -0
- package/dist/server/app-pages-bridge.d.ts +63 -0
- package/dist/server/app-pages-bridge.js +63 -0
- package/dist/server/app-post-middleware-context.d.ts +15 -0
- package/dist/server/app-post-middleware-context.js +26 -0
- package/dist/server/app-ppr-fallback-shell-render.d.ts +18 -0
- package/dist/server/app-ppr-fallback-shell-render.js +26 -0
- package/dist/server/app-ppr-fallback-shell.d.ts +33 -0
- package/dist/server/app-ppr-fallback-shell.js +89 -0
- package/dist/server/app-prerender-endpoints.d.ts +18 -0
- package/dist/server/app-prerender-endpoints.js +94 -0
- package/dist/server/app-prerender-static-params.d.ts +30 -0
- package/dist/server/app-prerender-static-params.js +81 -0
- package/dist/server/app-render-dependency.d.ts +14 -0
- package/dist/server/app-render-dependency.js +41 -0
- package/dist/server/app-request-context.d.ts +20 -0
- package/dist/server/app-request-context.js +29 -0
- package/dist/server/app-route-handler-cache.d.ts +46 -0
- package/dist/server/app-route-handler-cache.js +78 -0
- package/dist/server/app-route-handler-dispatch.d.ts +49 -0
- package/dist/server/app-route-handler-dispatch.js +163 -0
- package/dist/server/app-route-handler-execution.d.ts +86 -0
- package/dist/server/app-route-handler-execution.js +128 -0
- package/dist/server/app-route-handler-policy.d.ts +55 -0
- package/dist/server/app-route-handler-policy.js +58 -0
- package/dist/server/app-route-handler-response.d.ts +28 -0
- package/dist/server/app-route-handler-response.js +145 -0
- package/dist/server/app-route-handler-runtime.d.ts +39 -0
- package/dist/server/app-route-handler-runtime.js +250 -0
- package/dist/server/app-route-module-loader.d.ts +91 -0
- package/dist/server/app-route-module-loader.js +83 -0
- package/dist/server/app-router-entry.d.ts +13 -0
- package/dist/server/app-router-entry.js +49 -0
- package/dist/server/app-rsc-cache-busting.d.ts +64 -0
- package/dist/server/app-rsc-cache-busting.js +206 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +8 -0
- package/dist/server/app-rsc-embedded-chunks.js +32 -0
- package/dist/server/app-rsc-error-handler.d.ts +20 -0
- package/dist/server/app-rsc-error-handler.js +28 -0
- package/dist/server/app-rsc-errors.d.ts +40 -0
- package/dist/server/app-rsc-errors.js +60 -0
- package/dist/server/app-rsc-handler.d.ts +201 -0
- package/dist/server/app-rsc-handler.js +538 -0
- package/dist/server/app-rsc-render-mode.d.ts +11 -0
- package/dist/server/app-rsc-render-mode.js +25 -0
- package/dist/server/app-rsc-request-normalization.d.ts +48 -0
- package/dist/server/app-rsc-request-normalization.js +75 -0
- package/dist/server/app-rsc-response-finalizer.d.ts +37 -0
- package/dist/server/app-rsc-response-finalizer.js +54 -0
- package/dist/server/app-rsc-route-matching.d.ts +93 -0
- package/dist/server/app-rsc-route-matching.js +134 -0
- package/dist/server/app-segment-config.d.ts +46 -0
- package/dist/server/app-segment-config.js +113 -0
- package/dist/server/app-server-action-execution.d.ts +219 -0
- package/dist/server/app-server-action-execution.js +767 -0
- package/dist/server/app-ssr-entry.d.ts +52 -0
- package/dist/server/app-ssr-entry.js +295 -0
- package/dist/server/app-ssr-error-meta.d.ts +13 -0
- package/dist/server/app-ssr-error-meta.js +48 -0
- package/dist/server/app-ssr-router-instance.d.ts +6 -0
- package/dist/server/app-ssr-router-instance.js +24 -0
- package/dist/server/app-ssr-stream.d.ts +60 -0
- package/dist/server/app-ssr-stream.js +408 -0
- package/dist/server/app-static-generation.d.ts +15 -0
- package/dist/server/app-static-generation.js +19 -0
- package/dist/server/app-visited-response-cache.d.ts +23 -0
- package/dist/server/app-visited-response-cache.js +19 -0
- package/dist/server/artifact-compatibility.d.ts +54 -0
- package/dist/server/artifact-compatibility.js +91 -0
- package/dist/server/before-interactive-head.d.ts +17 -0
- package/dist/server/before-interactive-head.js +35 -0
- package/dist/server/cache-control.d.ts +37 -0
- package/dist/server/cache-control.js +56 -0
- package/dist/server/cache-headers.d.ts +6 -0
- package/dist/server/cache-headers.js +17 -0
- package/dist/server/cache-proof.d.ts +364 -0
- package/dist/server/cache-proof.js +794 -0
- package/dist/server/client-reuse-manifest.d.ts +104 -0
- package/dist/server/client-reuse-manifest.js +209 -0
- package/dist/server/client-trace-metadata.d.ts +30 -0
- package/dist/server/client-trace-metadata.js +81 -0
- package/dist/server/cookie-utils.d.ts +12 -0
- package/dist/server/cookie-utils.js +18 -0
- package/dist/server/csp.d.ts +10 -0
- package/dist/server/csp.js +41 -0
- package/dist/server/default-global-error-module.d.ts +19 -0
- package/dist/server/default-global-error-module.js +18 -0
- package/dist/server/default-not-found-module.d.ts +19 -0
- package/dist/server/default-not-found-module.js +18 -0
- package/dist/server/defer-until-stream-consumed.d.ts +7 -0
- package/dist/server/defer-until-stream-consumed.js +34 -0
- package/dist/server/dev-error-overlay-store.d.ts +39 -0
- package/dist/server/dev-error-overlay-store.js +86 -0
- package/dist/server/dev-error-overlay.d.ts +51 -0
- package/dist/server/dev-error-overlay.js +1341 -0
- package/dist/server/dev-initial-server-error.d.ts +9 -0
- package/dist/server/dev-initial-server-error.js +26 -0
- package/dist/server/dev-lockfile.d.ts +109 -0
- package/dist/server/dev-lockfile.js +179 -0
- package/dist/server/dev-module-runner.d.ts +30 -0
- package/dist/server/dev-module-runner.js +91 -0
- package/dist/server/dev-origin-check.d.ts +62 -0
- package/dist/server/dev-origin-check.js +156 -0
- package/dist/server/dev-route-files.d.ts +6 -0
- package/dist/server/dev-route-files.js +71 -0
- package/dist/server/dev-server.d.ts +58 -0
- package/dist/server/dev-server.js +1114 -0
- package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
- package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
- package/dist/server/dev-stack-sourcemap.d.ts +43 -0
- package/dist/server/dev-stack-sourcemap.js +443 -0
- package/dist/server/document-initial-head.d.ts +6 -0
- package/dist/server/document-initial-head.js +33 -0
- package/dist/server/edge-api-runtime.d.ts +4 -0
- package/dist/server/edge-api-runtime.js +6 -0
- package/dist/server/file-based-metadata.d.ts +29 -0
- package/dist/server/file-based-metadata.js +401 -0
- package/dist/server/headers.d.ts +114 -0
- package/dist/server/headers.js +136 -0
- package/dist/server/html.d.ts +28 -0
- package/dist/server/html.js +41 -0
- package/dist/server/http-error-responses.d.ts +91 -0
- package/dist/server/http-error-responses.js +105 -0
- package/dist/server/hybrid-route-priority.d.ts +22 -0
- package/dist/server/hybrid-route-priority.js +33 -0
- package/dist/server/image-optimization.d.ts +130 -0
- package/dist/server/image-optimization.js +247 -0
- package/dist/server/implicit-tags.d.ts +6 -0
- package/dist/server/implicit-tags.js +44 -0
- package/dist/server/instrumentation-runtime.d.ts +49 -0
- package/dist/server/instrumentation-runtime.js +35 -0
- package/dist/server/instrumentation.d.ts +85 -0
- package/dist/server/instrumentation.js +130 -0
- package/dist/server/isr-cache.d.ts +127 -0
- package/dist/server/isr-cache.js +282 -0
- package/dist/server/isr-decision.d.ts +79 -0
- package/dist/server/isr-decision.js +70 -0
- package/dist/server/metadata-route-build-data.d.ts +24 -0
- package/dist/server/metadata-route-build-data.js +148 -0
- package/dist/server/metadata-route-response.d.ts +16 -0
- package/dist/server/metadata-route-response.js +205 -0
- package/dist/server/metadata-routes.d.ts +139 -0
- package/dist/server/metadata-routes.js +433 -0
- package/dist/server/middleware-matcher.d.ts +14 -0
- package/dist/server/middleware-matcher.js +111 -0
- package/dist/server/middleware-request-headers.d.ts +11 -0
- package/dist/server/middleware-request-headers.js +65 -0
- package/dist/server/middleware-response-headers.d.ts +12 -0
- package/dist/server/middleware-response-headers.js +42 -0
- package/dist/server/middleware-runtime.d.ts +67 -0
- package/dist/server/middleware-runtime.js +240 -0
- package/dist/server/middleware.d.ts +62 -0
- package/dist/server/middleware.js +114 -0
- package/dist/server/navigation-planner.d.ts +308 -0
- package/dist/server/navigation-planner.js +831 -0
- package/dist/server/navigation-trace.d.ts +68 -0
- package/dist/server/navigation-trace.js +71 -0
- package/dist/server/next-error-digest.d.ts +44 -0
- package/dist/server/next-error-digest.js +40 -0
- package/dist/server/normalize-path.d.ts +38 -0
- package/dist/server/normalize-path.js +70 -0
- package/dist/server/open-redirect.d.ts +12 -0
- package/dist/server/open-redirect.js +21 -0
- package/dist/server/operation-token.d.ts +40 -0
- package/dist/server/operation-token.js +85 -0
- package/dist/server/otel-tracer-extension.d.ts +45 -0
- package/dist/server/otel-tracer-extension.js +89 -0
- package/dist/server/pages-api-route.d.ts +83 -0
- package/dist/server/pages-api-route.js +75 -0
- package/dist/server/pages-asset-tags.d.ts +78 -0
- package/dist/server/pages-asset-tags.js +126 -0
- package/dist/server/pages-body-parser-config.d.ts +59 -0
- package/dist/server/pages-body-parser-config.js +77 -0
- package/dist/server/pages-data-route.d.ts +121 -0
- package/dist/server/pages-data-route.js +157 -0
- package/dist/server/pages-default-404.d.ts +30 -0
- package/dist/server/pages-default-404.js +38 -0
- package/dist/server/pages-dev-module-url.d.ts +4 -0
- package/dist/server/pages-dev-module-url.js +15 -0
- package/dist/server/pages-document-initial-props.d.ts +77 -0
- package/dist/server/pages-document-initial-props.js +109 -0
- package/dist/server/pages-get-initial-props.d.ts +67 -0
- package/dist/server/pages-get-initial-props.js +92 -0
- package/dist/server/pages-i18n.d.ts +106 -0
- package/dist/server/pages-i18n.js +183 -0
- package/dist/server/pages-media-type.d.ts +15 -0
- package/dist/server/pages-media-type.js +24 -0
- package/dist/server/pages-node-compat.d.ts +55 -0
- package/dist/server/pages-node-compat.js +235 -0
- package/dist/server/pages-page-data.d.ts +223 -0
- package/dist/server/pages-page-data.js +484 -0
- package/dist/server/pages-page-handler.d.ts +100 -0
- package/dist/server/pages-page-handler.js +403 -0
- package/dist/server/pages-page-method.d.ts +47 -0
- package/dist/server/pages-page-method.js +17 -0
- package/dist/server/pages-page-response.d.ts +138 -0
- package/dist/server/pages-page-response.js +285 -0
- package/dist/server/pages-readiness.d.ts +36 -0
- package/dist/server/pages-readiness.js +21 -0
- package/dist/server/pages-request-pipeline.d.ts +116 -0
- package/dist/server/pages-request-pipeline.js +311 -0
- package/dist/server/pages-revalidate.d.ts +15 -0
- package/dist/server/pages-revalidate.js +19 -0
- package/dist/server/pages-serializable-props.d.ts +24 -0
- package/dist/server/pages-serializable-props.js +67 -0
- package/dist/server/pregenerated-concrete-paths.d.ts +16 -0
- package/dist/server/pregenerated-concrete-paths.js +61 -0
- package/dist/server/prerender-manifest.d.ts +33 -0
- package/dist/server/prerender-manifest.js +54 -0
- package/dist/server/prerender-route-params.d.ts +23 -0
- package/dist/server/prerender-route-params.js +113 -0
- package/dist/server/prerender-work-unit-setup.d.ts +6 -0
- package/dist/server/prerender-work-unit-setup.js +28 -0
- package/dist/server/prod-server.d.ts +148 -0
- package/dist/server/prod-server.js +1136 -0
- package/dist/server/proxy-trust.d.ts +40 -0
- package/dist/server/proxy-trust.js +68 -0
- package/dist/server/request-log.d.ts +39 -0
- package/dist/server/request-log.js +56 -0
- package/dist/server/request-pipeline.d.ts +187 -0
- package/dist/server/request-pipeline.js +447 -0
- package/dist/server/rsc-stream-hints.d.ts +10 -0
- package/dist/server/rsc-stream-hints.js +41 -0
- package/dist/server/seed-cache.d.ts +29 -0
- package/dist/server/seed-cache.js +125 -0
- package/dist/server/server-action-not-found.d.ts +21 -0
- package/dist/server/server-action-not-found.js +62 -0
- package/dist/server/server-globals.d.ts +4 -0
- package/dist/server/server-globals.js +35 -0
- package/dist/server/skip-cache-proof.d.ts +61 -0
- package/dist/server/skip-cache-proof.js +168 -0
- package/dist/server/socket-error-backstop.d.ts +34 -0
- package/dist/server/socket-error-backstop.js +200 -0
- package/dist/server/static-file-cache.d.ts +56 -0
- package/dist/server/static-file-cache.js +231 -0
- package/dist/server/static-layout-client-reuse-proof.d.ts +15 -0
- package/dist/server/static-layout-client-reuse-proof.js +33 -0
- package/dist/server/streaming-metadata.d.ts +4 -0
- package/dist/server/streaming-metadata.js +8 -0
- package/dist/server/worker-utils.d.ts +7 -0
- package/dist/server/worker-utils.js +99 -0
- package/dist/shims/amp.d.ts +19 -0
- package/dist/shims/amp.js +23 -0
- package/dist/shims/app-router-scroll-state.d.ts +15 -0
- package/dist/shims/app-router-scroll-state.js +61 -0
- package/dist/shims/app-router-scroll.d.ts +29 -0
- package/dist/shims/app-router-scroll.js +141 -0
- package/dist/shims/app.d.ts +42 -0
- package/dist/shims/app.js +48 -0
- package/dist/shims/before-interactive-context.d.ts +40 -0
- package/dist/shims/before-interactive-context.js +8 -0
- package/dist/shims/cache-for-request.d.ts +57 -0
- package/dist/shims/cache-for-request.js +72 -0
- package/dist/shims/cache-handler.d.ts +106 -0
- package/dist/shims/cache-handler.js +176 -0
- package/dist/shims/cache-request-state.d.ts +47 -0
- package/dist/shims/cache-request-state.js +126 -0
- package/dist/shims/cache-runtime.d.ts +83 -0
- package/dist/shims/cache-runtime.js +452 -0
- package/dist/shims/cache.d.ts +145 -0
- package/dist/shims/cache.js +401 -0
- package/dist/shims/cdn-cache.d.ts +125 -0
- package/dist/shims/cdn-cache.js +100 -0
- package/dist/shims/client-hook-error.d.ts +13 -0
- package/dist/shims/client-hook-error.js +17 -0
- package/dist/shims/client-locale.d.ts +14 -0
- package/dist/shims/client-locale.js +11 -0
- package/dist/shims/client-only.d.ts +1 -0
- package/dist/shims/client-only.js +1 -0
- package/dist/shims/compat-router.d.ts +16 -0
- package/dist/shims/compat-router.js +25 -0
- package/dist/shims/config.d.ts +28 -0
- package/dist/shims/config.js +21 -0
- package/dist/shims/constants.d.ts +130 -0
- package/dist/shims/constants.js +167 -0
- package/dist/shims/default-global-error.d.ts +31 -0
- package/dist/shims/default-global-error.js +179 -0
- package/dist/shims/default-not-found.d.ts +11 -0
- package/dist/shims/default-not-found.js +59 -0
- package/dist/shims/document.d.ts +92 -0
- package/dist/shims/document.js +76 -0
- package/dist/shims/dynamic-preload-chunks.d.ts +8 -0
- package/dist/shims/dynamic-preload-chunks.js +79 -0
- package/dist/shims/dynamic.d.ts +35 -0
- package/dist/shims/dynamic.js +204 -0
- package/dist/shims/error-boundary-navigation.d.ts +7 -0
- package/dist/shims/error-boundary-navigation.js +44 -0
- package/dist/shims/error-boundary.d.ts +155 -0
- package/dist/shims/error-boundary.js +342 -0
- package/dist/shims/error.d.ts +31 -0
- package/dist/shims/error.js +123 -0
- package/dist/shims/error.react-server.d.ts +9 -0
- package/dist/shims/error.react-server.js +6 -0
- package/dist/shims/fetch-cache.d.ts +136 -0
- package/dist/shims/fetch-cache.js +766 -0
- package/dist/shims/font-google-base.d.ts +83 -0
- package/dist/shims/font-google-base.js +290 -0
- package/dist/shims/font-google.d.ts +2 -0
- package/dist/shims/font-google.js +2 -0
- package/dist/shims/font-local.d.ts +50 -0
- package/dist/shims/font-local.js +195 -0
- package/dist/shims/font-utils.d.ts +56 -0
- package/dist/shims/font-utils.js +107 -0
- package/dist/shims/form.d.ts +19 -0
- package/dist/shims/form.js +236 -0
- package/dist/shims/hash-scroll.d.ts +10 -0
- package/dist/shims/hash-scroll.js +47 -0
- package/dist/shims/head-state.d.ts +16 -0
- package/dist/shims/head-state.js +43 -0
- package/dist/shims/head.d.ts +73 -0
- package/dist/shims/head.js +340 -0
- package/dist/shims/headers.d.ts +253 -0
- package/dist/shims/headers.js +754 -0
- package/dist/shims/i18n-context.d.ts +22 -0
- package/dist/shims/i18n-context.js +42 -0
- package/dist/shims/i18n-state.d.ts +14 -0
- package/dist/shims/i18n-state.js +38 -0
- package/dist/shims/image-config.d.ts +45 -0
- package/dist/shims/image-config.js +85 -0
- package/dist/shims/image.d.ts +55 -0
- package/dist/shims/image.js +582 -0
- package/dist/shims/internal/als-registry.d.ts +14 -0
- package/dist/shims/internal/als-registry.js +80 -0
- package/dist/shims/internal/api-utils.d.ts +14 -0
- package/dist/shims/internal/api-utils.js +1 -0
- package/dist/shims/internal/app-page-props-cache-key.d.ts +5 -0
- package/dist/shims/internal/app-page-props-cache-key.js +16 -0
- package/dist/shims/internal/app-route-detection.d.ts +39 -0
- package/dist/shims/internal/app-route-detection.js +62 -0
- package/dist/shims/internal/app-router-context.d.ts +31 -0
- package/dist/shims/internal/app-router-context.js +28 -0
- package/dist/shims/internal/cookie-serialize.d.ts +45 -0
- package/dist/shims/internal/cookie-serialize.js +49 -0
- package/dist/shims/internal/cookies.d.ts +2 -0
- package/dist/shims/internal/cookies.js +2 -0
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +31 -0
- package/dist/shims/internal/hybrid-client-route-owner.js +143 -0
- package/dist/shims/internal/interpolate-as.d.ts +25 -0
- package/dist/shims/internal/interpolate-as.js +196 -0
- package/dist/shims/internal/link-status-registry.d.ts +43 -0
- package/dist/shims/internal/link-status-registry.js +42 -0
- package/dist/shims/internal/make-hanging-promise.d.ts +15 -0
- package/dist/shims/internal/make-hanging-promise.js +44 -0
- package/dist/shims/internal/navigation-untracked.d.ts +35 -0
- package/dist/shims/internal/navigation-untracked.js +56 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +54 -0
- package/dist/shims/internal/pages-data-fetch-dedup.js +121 -0
- package/dist/shims/internal/pages-data-target.d.ts +62 -0
- package/dist/shims/internal/pages-data-target.js +98 -0
- package/dist/shims/internal/pages-data-url.d.ts +41 -0
- package/dist/shims/internal/pages-data-url.js +71 -0
- package/dist/shims/internal/pages-router-accessor.d.ts +19 -0
- package/dist/shims/internal/pages-router-accessor.js +13 -0
- package/dist/shims/internal/route-pattern-for-warning.d.ts +27 -0
- package/dist/shims/internal/route-pattern-for-warning.js +40 -0
- package/dist/shims/internal/router-context.d.ts +7 -0
- package/dist/shims/internal/router-context.js +13 -0
- package/dist/shims/internal/utils.d.ts +52 -0
- package/dist/shims/internal/utils.js +27 -0
- package/dist/shims/internal/work-unit-async-storage.d.ts +30 -0
- package/dist/shims/internal/work-unit-async-storage.js +17 -0
- package/dist/shims/layout-segment-context.d.ts +24 -0
- package/dist/shims/layout-segment-context.js +39 -0
- package/dist/shims/legacy-image.d.ts +41 -0
- package/dist/shims/legacy-image.js +49 -0
- package/dist/shims/link-prefetch.d.ts +41 -0
- package/dist/shims/link-prefetch.js +43 -0
- package/dist/shims/link.d.ts +102 -0
- package/dist/shims/link.js +687 -0
- package/dist/shims/metadata.d.ts +285 -0
- package/dist/shims/metadata.js +820 -0
- package/dist/shims/navigation-context-state.d.ts +40 -0
- package/dist/shims/navigation-context-state.js +116 -0
- package/dist/shims/navigation-errors.d.ts +55 -0
- package/dist/shims/navigation-errors.js +110 -0
- package/dist/shims/navigation-server.d.ts +3 -0
- package/dist/shims/navigation-server.js +3 -0
- package/dist/shims/navigation-state.d.ts +25 -0
- package/dist/shims/navigation-state.js +66 -0
- package/dist/shims/navigation.d.ts +286 -0
- package/dist/shims/navigation.js +1206 -0
- package/dist/shims/navigation.react-server.d.ts +14 -0
- package/dist/shims/navigation.react-server.js +32 -0
- package/dist/shims/offline.d.ts +4 -0
- package/dist/shims/offline.js +15 -0
- package/dist/shims/og.d.ts +17 -0
- package/dist/shims/og.js +48 -0
- package/dist/shims/pages-router-runtime.d.ts +12 -0
- package/dist/shims/pages-router-runtime.js +24 -0
- package/dist/shims/ppr-fallback-shell.d.ts +33 -0
- package/dist/shims/ppr-fallback-shell.js +170 -0
- package/dist/shims/readonly-url-search-params.d.ts +13 -0
- package/dist/shims/readonly-url-search-params.js +26 -0
- package/dist/shims/request-context.d.ts +58 -0
- package/dist/shims/request-context.js +45 -0
- package/dist/shims/request-state-types.d.ts +12 -0
- package/dist/shims/request-state-types.js +1 -0
- package/dist/shims/root-params.d.ts +12 -0
- package/dist/shims/root-params.js +30 -0
- package/dist/shims/router-state.d.ts +32 -0
- package/dist/shims/router-state.js +39 -0
- package/dist/shims/router.d.ts +192 -0
- package/dist/shims/router.js +1786 -0
- package/dist/shims/script-nonce-context.d.ts +11 -0
- package/dist/shims/script-nonce-context.js +23 -0
- package/dist/shims/script.d.ts +43 -0
- package/dist/shims/script.js +370 -0
- package/dist/shims/server-only.d.ts +1 -0
- package/dist/shims/server-only.js +1 -0
- package/dist/shims/server.d.ts +323 -0
- package/dist/shims/server.js +729 -0
- package/dist/shims/slot.d.ts +45 -0
- package/dist/shims/slot.js +230 -0
- package/dist/shims/thenable-params.d.ts +11 -0
- package/dist/shims/thenable-params.js +176 -0
- package/dist/shims/unified-request-context.d.ts +68 -0
- package/dist/shims/unified-request-context.js +86 -0
- package/dist/shims/unrecognized-action-error.d.ts +34 -0
- package/dist/shims/unrecognized-action-error.js +39 -0
- package/dist/shims/url-safety.d.ts +34 -0
- package/dist/shims/url-safety.js +70 -0
- package/dist/shims/url-utils.d.ts +51 -0
- package/dist/shims/url-utils.js +156 -0
- package/dist/shims/use-merged-ref.d.ts +6 -0
- package/dist/shims/use-merged-ref.js +38 -0
- package/dist/shims/web-vitals.d.ts +8 -0
- package/dist/shims/web-vitals.js +22 -0
- package/dist/typegen.d.ts +9 -0
- package/dist/typegen.js +228 -0
- package/dist/utils/asset-prefix.d.ts +96 -0
- package/dist/utils/asset-prefix.js +122 -0
- package/dist/utils/base-path.d.ts +31 -0
- package/dist/utils/base-path.js +45 -0
- package/dist/utils/built-asset-url.d.ts +4 -0
- package/dist/utils/built-asset-url.js +11 -0
- package/dist/utils/cache-control-metadata.d.ts +4 -0
- package/dist/utils/cache-control-metadata.js +12 -0
- package/dist/utils/client-build-manifest.d.ts +21 -0
- package/dist/utils/client-build-manifest.js +87 -0
- package/dist/utils/client-entry-manifest.d.ts +11 -0
- package/dist/utils/client-entry-manifest.js +29 -0
- package/dist/utils/client-runtime-metadata.d.ts +45 -0
- package/dist/utils/client-runtime-metadata.js +63 -0
- package/dist/utils/commonjs-loader.d.ts +16 -0
- package/dist/utils/commonjs-loader.js +100 -0
- package/dist/utils/compare.d.ts +4 -0
- package/dist/utils/compare.js +8 -0
- package/dist/utils/deployment-id.d.ts +8 -0
- package/dist/utils/deployment-id.js +22 -0
- package/dist/utils/dev-error-recovery-event.d.ts +4 -0
- package/dist/utils/dev-error-recovery-event.js +4 -0
- package/dist/utils/domain-locale.d.ts +26 -0
- package/dist/utils/domain-locale.js +50 -0
- package/dist/utils/encode-cache-tag.d.ts +30 -0
- package/dist/utils/encode-cache-tag.js +36 -0
- package/dist/utils/error-cause.d.ts +4 -0
- package/dist/utils/error-cause.js +95 -0
- package/dist/utils/has-trailing-comma.d.ts +24 -0
- package/dist/utils/has-trailing-comma.js +62 -0
- package/dist/utils/hash.d.ts +24 -0
- package/dist/utils/hash.js +55 -0
- package/dist/utils/html-limited-bots.d.ts +21 -0
- package/dist/utils/html-limited-bots.js +35 -0
- package/dist/utils/lazy-chunks.d.ts +59 -0
- package/dist/utils/lazy-chunks.js +112 -0
- package/dist/utils/manifest-paths.d.ts +30 -0
- package/dist/utils/manifest-paths.js +66 -0
- package/dist/utils/mdx-scan.d.ts +9 -0
- package/dist/utils/mdx-scan.js +34 -0
- package/dist/utils/navigation-signal.d.ts +4 -0
- package/dist/utils/navigation-signal.js +12 -0
- package/dist/utils/number.d.ts +4 -0
- package/dist/utils/number.js +6 -0
- package/dist/utils/parse-cookie.d.ts +13 -0
- package/dist/utils/parse-cookie.js +52 -0
- package/dist/utils/path.d.ts +22 -0
- package/dist/utils/path.js +30 -0
- package/dist/utils/prerender-output-paths.d.ts +14 -0
- package/dist/utils/prerender-output-paths.js +22 -0
- package/dist/utils/project.d.ts +76 -0
- package/dist/utils/project.js +213 -0
- package/dist/utils/promise.d.ts +4 -0
- package/dist/utils/promise.js +6 -0
- package/dist/utils/public-routes.d.ts +4 -0
- package/dist/utils/public-routes.js +48 -0
- package/dist/utils/query.d.ts +49 -0
- package/dist/utils/query.js +122 -0
- package/dist/utils/record.d.ts +4 -0
- package/dist/utils/record.js +6 -0
- package/dist/utils/regex.d.ts +4 -0
- package/dist/utils/regex.js +6 -0
- package/dist/utils/safe-json-file.d.ts +17 -0
- package/dist/utils/safe-json-file.js +23 -0
- package/dist/utils/sorted-array.d.ts +8 -0
- package/dist/utils/sorted-array.js +20 -0
- package/dist/utils/text-stream.d.ts +28 -0
- package/dist/utils/text-stream.js +64 -0
- package/dist/utils/vinext-root.d.ts +23 -0
- package/dist/utils/vinext-root.js +29 -0
- package/dist/utils/virtual-module.d.ts +5 -0
- package/dist/utils/virtual-module.js +0 -0
- package/dist/utils/vite-version.d.ts +21 -0
- package/dist/utils/vite-version.js +42 -0
- package/package.json +145 -0
package/dist/init.d.ts
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
//#region src/init.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* vinext init — one-command project migration for Next.js apps.
|
|
4
|
+
*
|
|
5
|
+
* Automates the steps needed to run a Next.js app under vinext:
|
|
6
|
+
*
|
|
7
|
+
* 1. Run `vinext check` to show compatibility report
|
|
8
|
+
* 2. Install dependencies (vite, @vitejs/plugin-react, and App Router deps)
|
|
9
|
+
* 3. Add "type": "module" to package.json
|
|
10
|
+
* 4. Rename CJS config files to .cjs
|
|
11
|
+
* 5. Add vinext scripts to package.json
|
|
12
|
+
* 6. Generate vite.config.ts
|
|
13
|
+
* 7. Update .gitignore to include /dist/ and .vinext/
|
|
14
|
+
* 8. Print summary
|
|
15
|
+
*
|
|
16
|
+
* Non-destructive: does NOT modify next.config, tsconfig, or source files.
|
|
17
|
+
* The project should work with both Next.js and vinext simultaneously.
|
|
18
|
+
*/
|
|
19
|
+
type InitOptions = {
|
|
20
|
+
/** Project root directory */root: string; /** Dev server port (default: 3001) */
|
|
21
|
+
port?: number; /** Skip the compatibility check step */
|
|
22
|
+
skipCheck?: boolean; /** Force overwrite even if vite.config.ts exists */
|
|
23
|
+
force?: boolean; /** @internal — override exec for testing (avoids ESM spy issues) */
|
|
24
|
+
_exec?: (cmd: string, opts: {
|
|
25
|
+
cwd: string;
|
|
26
|
+
stdio: string;
|
|
27
|
+
}) => void;
|
|
28
|
+
};
|
|
29
|
+
type InitResult = {
|
|
30
|
+
/** Whether dependencies were installed */installedDeps: string[]; /** Whether "type": "module" was added */
|
|
31
|
+
addedTypeModule: boolean; /** CJS config files that were renamed ([old, new] pairs) */
|
|
32
|
+
renamedConfigs: Array<[string, string]>; /** Whether scripts were added to package.json */
|
|
33
|
+
addedScripts: string[]; /** Whether vite.config.ts was generated */
|
|
34
|
+
generatedViteConfig: boolean; /** Whether vite.config.ts generation was skipped (already exists) */
|
|
35
|
+
skippedViteConfig: boolean; /** Whether .gitignore was updated to include vinext-generated output */
|
|
36
|
+
updatedGitignore: boolean;
|
|
37
|
+
};
|
|
38
|
+
declare function generateViteConfig(_isAppRouter: boolean): string;
|
|
39
|
+
/**
|
|
40
|
+
* Add vinext scripts to package.json without overwriting existing scripts.
|
|
41
|
+
* Returns the list of script names that were added.
|
|
42
|
+
*/
|
|
43
|
+
declare function addScripts(root: string, port: number): string[];
|
|
44
|
+
declare function getInitDeps(isAppRouter: boolean): string[];
|
|
45
|
+
declare function isDepInstalled(root: string, dep: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Check if react/react-dom need upgrading for react-server-dom-webpack compatibility.
|
|
48
|
+
*
|
|
49
|
+
* react-server-dom-webpack versions are pinned to match their React version
|
|
50
|
+
* (e.g. rsdw@19.2.6 requires react@^19.2.6). When a project has an older
|
|
51
|
+
* React (e.g. create-next-app ships react@19.2.3), we need to upgrade
|
|
52
|
+
* react/react-dom BEFORE installing rsdw to avoid peer-dep conflicts.
|
|
53
|
+
*
|
|
54
|
+
* Uses createRequire to resolve react's package.json through Node's module
|
|
55
|
+
* resolution, which works correctly across all package managers (npm, pnpm,
|
|
56
|
+
* yarn, Yarn PnP) and monorepo layouts with hoisting/symlinking.
|
|
57
|
+
*
|
|
58
|
+
* Returns ["react@latest", "react-dom@latest"] if upgrade is needed, [] otherwise.
|
|
59
|
+
*/
|
|
60
|
+
declare function getReactUpgradeDeps(root: string): string[];
|
|
61
|
+
/**
|
|
62
|
+
* Ensure vinext-generated output directories are listed in .gitignore.
|
|
63
|
+
* Creates the file if it doesn't exist. Returns true if the file was modified
|
|
64
|
+
* (or created), false if all entries were already present.
|
|
65
|
+
*/
|
|
66
|
+
declare function updateGitignore(root: string): boolean;
|
|
67
|
+
declare function init(options: InitOptions): Promise<InitResult>;
|
|
68
|
+
//#endregion
|
|
69
|
+
export { InitOptions, addScripts, generateViteConfig, getInitDeps, getReactUpgradeDeps, init, isDepInstalled, updateGitignore };
|
package/dist/init.js
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import { detectPackageManager, detectPackageManagerName, ensureESModule, hasAppDir, hasViteConfig, renameCJSConfigs } from "./utils/project.js";
|
|
2
|
+
import { formatReport, runCheck } from "./check.js";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import { execFileSync } from "node:child_process";
|
|
7
|
+
//#region src/init.ts
|
|
8
|
+
/**
|
|
9
|
+
* vinext init — one-command project migration for Next.js apps.
|
|
10
|
+
*
|
|
11
|
+
* Automates the steps needed to run a Next.js app under vinext:
|
|
12
|
+
*
|
|
13
|
+
* 1. Run `vinext check` to show compatibility report
|
|
14
|
+
* 2. Install dependencies (vite, @vitejs/plugin-react, and App Router deps)
|
|
15
|
+
* 3. Add "type": "module" to package.json
|
|
16
|
+
* 4. Rename CJS config files to .cjs
|
|
17
|
+
* 5. Add vinext scripts to package.json
|
|
18
|
+
* 6. Generate vite.config.ts
|
|
19
|
+
* 7. Update .gitignore to include /dist/ and .vinext/
|
|
20
|
+
* 8. Print summary
|
|
21
|
+
*
|
|
22
|
+
* Non-destructive: does NOT modify next.config, tsconfig, or source files.
|
|
23
|
+
* The project should work with both Next.js and vinext simultaneously.
|
|
24
|
+
*/
|
|
25
|
+
function generateViteConfig(_isAppRouter) {
|
|
26
|
+
return `import vinext from "vinext";
|
|
27
|
+
import { defineConfig } from "vite";
|
|
28
|
+
|
|
29
|
+
export default defineConfig({
|
|
30
|
+
plugins: [vinext()],
|
|
31
|
+
});
|
|
32
|
+
`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Add vinext scripts to package.json without overwriting existing scripts.
|
|
36
|
+
* Returns the list of script names that were added.
|
|
37
|
+
*/
|
|
38
|
+
function addScripts(root, port) {
|
|
39
|
+
const pkgPath = path.join(root, "package.json");
|
|
40
|
+
if (!fs.existsSync(pkgPath)) return [];
|
|
41
|
+
try {
|
|
42
|
+
const raw = fs.readFileSync(pkgPath, "utf-8");
|
|
43
|
+
const pkg = JSON.parse(raw);
|
|
44
|
+
if (!pkg.scripts) pkg.scripts = {};
|
|
45
|
+
const added = [];
|
|
46
|
+
if (!pkg.scripts["dev:vinext"]) {
|
|
47
|
+
pkg.scripts["dev:vinext"] = `vinext dev --port ${port}`;
|
|
48
|
+
added.push("dev:vinext");
|
|
49
|
+
}
|
|
50
|
+
if (!pkg.scripts["build:vinext"]) {
|
|
51
|
+
pkg.scripts["build:vinext"] = "vinext build";
|
|
52
|
+
added.push("build:vinext");
|
|
53
|
+
}
|
|
54
|
+
if (!pkg.scripts["start:vinext"]) {
|
|
55
|
+
pkg.scripts["start:vinext"] = "vinext start";
|
|
56
|
+
added.push("start:vinext");
|
|
57
|
+
}
|
|
58
|
+
if (added.length > 0) fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n", "utf-8");
|
|
59
|
+
return added;
|
|
60
|
+
} catch {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function getInitDeps(isAppRouter) {
|
|
65
|
+
const deps = [
|
|
66
|
+
"vinext",
|
|
67
|
+
"vite",
|
|
68
|
+
"@vitejs/plugin-react"
|
|
69
|
+
];
|
|
70
|
+
if (isAppRouter) {
|
|
71
|
+
deps.push("@vitejs/plugin-rsc");
|
|
72
|
+
deps.push("react-server-dom-webpack");
|
|
73
|
+
}
|
|
74
|
+
return deps;
|
|
75
|
+
}
|
|
76
|
+
function isDepInstalled(root, dep) {
|
|
77
|
+
const pkgPath = path.join(root, "package.json");
|
|
78
|
+
if (!fs.existsSync(pkgPath)) return false;
|
|
79
|
+
try {
|
|
80
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
|
|
81
|
+
return dep in {
|
|
82
|
+
...pkg.dependencies,
|
|
83
|
+
...pkg.devDependencies,
|
|
84
|
+
...pkg.peerDependencies
|
|
85
|
+
};
|
|
86
|
+
} catch {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Check if react/react-dom need upgrading for react-server-dom-webpack compatibility.
|
|
92
|
+
*
|
|
93
|
+
* react-server-dom-webpack versions are pinned to match their React version
|
|
94
|
+
* (e.g. rsdw@19.2.6 requires react@^19.2.6). When a project has an older
|
|
95
|
+
* React (e.g. create-next-app ships react@19.2.3), we need to upgrade
|
|
96
|
+
* react/react-dom BEFORE installing rsdw to avoid peer-dep conflicts.
|
|
97
|
+
*
|
|
98
|
+
* Uses createRequire to resolve react's package.json through Node's module
|
|
99
|
+
* resolution, which works correctly across all package managers (npm, pnpm,
|
|
100
|
+
* yarn, Yarn PnP) and monorepo layouts with hoisting/symlinking.
|
|
101
|
+
*
|
|
102
|
+
* Returns ["react@latest", "react-dom@latest"] if upgrade is needed, [] otherwise.
|
|
103
|
+
*/
|
|
104
|
+
function getReactUpgradeDeps(root) {
|
|
105
|
+
try {
|
|
106
|
+
const version = findPackageVersion(createRequire(path.join(root, "package.json")).resolve("react"), "react");
|
|
107
|
+
if (!version) return [];
|
|
108
|
+
const parts = version.split(".");
|
|
109
|
+
const major = parseInt(parts[0], 10);
|
|
110
|
+
const minor = parseInt(parts[1], 10);
|
|
111
|
+
const patch = parseInt(parts[2], 10);
|
|
112
|
+
if (major < 19 || major === 19 && minor < 2 || major === 19 && minor === 2 && patch < 6) return ["react@latest", "react-dom@latest"];
|
|
113
|
+
return [];
|
|
114
|
+
} catch {
|
|
115
|
+
return [];
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Walk up from a resolved module entry to find its package.json and return
|
|
120
|
+
* the version field. Uses the same approach as PR #18's findReactServerPackages.
|
|
121
|
+
*/
|
|
122
|
+
function findPackageVersion(resolvedEntry, packageName) {
|
|
123
|
+
let dir = path.dirname(resolvedEntry);
|
|
124
|
+
while (dir !== path.dirname(dir)) {
|
|
125
|
+
const candidate = path.join(dir, "package.json");
|
|
126
|
+
try {
|
|
127
|
+
const pkg = JSON.parse(fs.readFileSync(candidate, "utf-8"));
|
|
128
|
+
if (pkg.name === packageName) return pkg.version ?? null;
|
|
129
|
+
} catch {}
|
|
130
|
+
dir = path.dirname(dir);
|
|
131
|
+
}
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
function installDeps(root, deps, exec, { dev = true } = {}) {
|
|
135
|
+
if (deps.length === 0) return;
|
|
136
|
+
const baseCmd = detectPackageManager(root);
|
|
137
|
+
exec(`${dev ? baseCmd : baseCmd.replace(/ -D$/, "")} ${deps.join(" ")}`, {
|
|
138
|
+
cwd: root,
|
|
139
|
+
stdio: "inherit"
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Ensure vinext-generated output directories are listed in .gitignore.
|
|
144
|
+
* Creates the file if it doesn't exist. Returns true if the file was modified
|
|
145
|
+
* (or created), false if all entries were already present.
|
|
146
|
+
*/
|
|
147
|
+
function updateGitignore(root) {
|
|
148
|
+
const gitignorePath = path.join(root, ".gitignore");
|
|
149
|
+
const entries = [{
|
|
150
|
+
entry: "/dist/",
|
|
151
|
+
coveredBy: new Set([
|
|
152
|
+
"/dist/",
|
|
153
|
+
"/dist",
|
|
154
|
+
"dist/",
|
|
155
|
+
"dist"
|
|
156
|
+
])
|
|
157
|
+
}, {
|
|
158
|
+
entry: ".vinext/",
|
|
159
|
+
coveredBy: new Set([
|
|
160
|
+
"/.vinext/",
|
|
161
|
+
"/.vinext",
|
|
162
|
+
".vinext/",
|
|
163
|
+
".vinext"
|
|
164
|
+
])
|
|
165
|
+
}];
|
|
166
|
+
let content = "";
|
|
167
|
+
let lines = [];
|
|
168
|
+
if (fs.existsSync(gitignorePath)) {
|
|
169
|
+
content = fs.readFileSync(gitignorePath, "utf-8");
|
|
170
|
+
lines = content.split("\n").map((l) => l.trim());
|
|
171
|
+
}
|
|
172
|
+
const missingEntries = entries.filter(({ coveredBy }) => !lines.some((line) => coveredBy.has(line))).map(({ entry }) => entry);
|
|
173
|
+
if (missingEntries.length === 0) return false;
|
|
174
|
+
const separator = content.length > 0 && !content.endsWith("\n") ? "\n" : "";
|
|
175
|
+
fs.writeFileSync(gitignorePath, content + separator + missingEntries.join("\n") + "\n", "utf-8");
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
async function init(options) {
|
|
179
|
+
const root = path.resolve(options.root);
|
|
180
|
+
const port = options.port ?? 3001;
|
|
181
|
+
const exec = options._exec ?? ((cmd, opts) => {
|
|
182
|
+
const [program, ...args] = cmd.split(" ");
|
|
183
|
+
execFileSync(program, args, {
|
|
184
|
+
...opts,
|
|
185
|
+
shell: true
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
const pkgPath = path.join(root, "package.json");
|
|
189
|
+
if (!fs.existsSync(pkgPath)) {
|
|
190
|
+
console.error(" Error: No package.json found in the current directory.");
|
|
191
|
+
console.error(" Run this command from the root of a Next.js project.\n");
|
|
192
|
+
process.exit(1);
|
|
193
|
+
}
|
|
194
|
+
const viteConfigExists = hasViteConfig(root);
|
|
195
|
+
const isApp = hasAppDir(root);
|
|
196
|
+
const pmName = detectPackageManagerName(root);
|
|
197
|
+
if (!options.skipCheck) {
|
|
198
|
+
console.log(" Running compatibility check...\n");
|
|
199
|
+
const checkResult = runCheck(root);
|
|
200
|
+
console.log(formatReport(checkResult, { calledFromInit: true }));
|
|
201
|
+
console.log();
|
|
202
|
+
}
|
|
203
|
+
const missingDeps = getInitDeps(isApp).filter((dep) => !isDepInstalled(root, dep));
|
|
204
|
+
if (isApp && missingDeps.includes("react-server-dom-webpack")) {
|
|
205
|
+
const reactUpgrade = getReactUpgradeDeps(root);
|
|
206
|
+
if (reactUpgrade.length > 0) {
|
|
207
|
+
console.log(` Upgrading ${reactUpgrade.map((d) => d.replace(/@latest$/, "")).join(", ")}...`);
|
|
208
|
+
installDeps(root, reactUpgrade, exec, { dev: false });
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
if (missingDeps.length > 0) {
|
|
212
|
+
console.log(` Installing ${missingDeps.join(", ")}...`);
|
|
213
|
+
installDeps(root, missingDeps, exec);
|
|
214
|
+
console.log();
|
|
215
|
+
}
|
|
216
|
+
const renamedConfigs = renameCJSConfigs(root);
|
|
217
|
+
const addedTypeModule = ensureESModule(root);
|
|
218
|
+
const addedScripts = addScripts(root, port);
|
|
219
|
+
let generatedViteConfig = false;
|
|
220
|
+
const skippedViteConfig = viteConfigExists && !options.force;
|
|
221
|
+
if (!skippedViteConfig) {
|
|
222
|
+
const configContent = generateViteConfig(isApp);
|
|
223
|
+
fs.writeFileSync(path.join(root, "vite.config.ts"), configContent, "utf-8");
|
|
224
|
+
generatedViteConfig = true;
|
|
225
|
+
}
|
|
226
|
+
const updatedGitignore = updateGitignore(root);
|
|
227
|
+
console.log(" vinext init complete!\n");
|
|
228
|
+
if (missingDeps.length > 0) console.log(` \u2713 Added ${missingDeps.join(", ")} to devDependencies`);
|
|
229
|
+
if (addedTypeModule) console.log(` \u2713 Added "type": "module" to package.json`);
|
|
230
|
+
for (const [oldName, newName] of renamedConfigs) console.log(` \u2713 Renamed ${oldName} \u2192 ${newName}`);
|
|
231
|
+
for (const script of addedScripts) console.log(` \u2713 Added ${script} script`);
|
|
232
|
+
if (generatedViteConfig) console.log(` \u2713 Generated vite.config.ts`);
|
|
233
|
+
if (skippedViteConfig) console.log(` - Skipped vite.config.ts (already exists, use --force to overwrite)`);
|
|
234
|
+
if (updatedGitignore) console.log(` \u2713 Added vinext output directories to .gitignore`);
|
|
235
|
+
console.log(`
|
|
236
|
+
Next steps:
|
|
237
|
+
${pmName} run dev:vinext Start the vinext dev server
|
|
238
|
+
${pmName} run build:vinext Build production output
|
|
239
|
+
${pmName} run start:vinext Start vinext production server
|
|
240
|
+
${pmName} run dev Start Next.js (still works as before)
|
|
241
|
+
`);
|
|
242
|
+
return {
|
|
243
|
+
installedDeps: missingDeps,
|
|
244
|
+
addedTypeModule,
|
|
245
|
+
renamedConfigs,
|
|
246
|
+
addedScripts,
|
|
247
|
+
generatedViteConfig,
|
|
248
|
+
skippedViteConfig,
|
|
249
|
+
updatedGitignore
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
//#endregion
|
|
253
|
+
export { addScripts, generateViteConfig, getInitDeps, getReactUpgradeDeps, init, isDepInstalled, updateGitignore };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/plugins/ast-utils.d.ts
|
|
2
|
+
type AstRecord = {
|
|
3
|
+
type: string;
|
|
4
|
+
start?: number;
|
|
5
|
+
end?: number;
|
|
6
|
+
[key: string]: unknown;
|
|
7
|
+
};
|
|
8
|
+
type AstRange = AstRecord & {
|
|
9
|
+
start: number;
|
|
10
|
+
end: number;
|
|
11
|
+
};
|
|
12
|
+
declare function isAstRecord(value: unknown): value is AstRecord;
|
|
13
|
+
declare function nodeArray(value: unknown): unknown[];
|
|
14
|
+
declare function hasRange(node: AstRecord | null): node is AstRange;
|
|
15
|
+
declare function isIdentifierNamed(value: unknown, name: string): boolean;
|
|
16
|
+
declare function getAstName(value: unknown): string | null;
|
|
17
|
+
declare function forEachAstChild(node: AstRecord, callback: (child: AstRecord) => void): void;
|
|
18
|
+
declare function collectBindingNames(pattern: unknown, target: Set<string>): void;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { AstRange, AstRecord, collectBindingNames, forEachAstChild, getAstName, hasRange, isAstRecord, isIdentifierNamed, nodeArray };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
//#region src/plugins/ast-utils.ts
|
|
2
|
+
const SKIP_CHILD_KEYS = new Set([
|
|
3
|
+
"type",
|
|
4
|
+
"parent",
|
|
5
|
+
"loc",
|
|
6
|
+
"start",
|
|
7
|
+
"end"
|
|
8
|
+
]);
|
|
9
|
+
function getObjectProperty(value, key) {
|
|
10
|
+
if (typeof value !== "object" || value === null) return null;
|
|
11
|
+
return Reflect.get(value, key);
|
|
12
|
+
}
|
|
13
|
+
function isAstRecord(value) {
|
|
14
|
+
return typeof getObjectProperty(value, "type") === "string";
|
|
15
|
+
}
|
|
16
|
+
function toAstRecord(value) {
|
|
17
|
+
return isAstRecord(value) ? value : null;
|
|
18
|
+
}
|
|
19
|
+
function nodeArray(value) {
|
|
20
|
+
return Array.isArray(value) ? value : [];
|
|
21
|
+
}
|
|
22
|
+
function hasRange(node) {
|
|
23
|
+
return node !== null && typeof node.start === "number" && typeof node.end === "number";
|
|
24
|
+
}
|
|
25
|
+
function isIdentifierNamed(value, name) {
|
|
26
|
+
return isAstRecord(value) && value.type === "Identifier" && value.name === name;
|
|
27
|
+
}
|
|
28
|
+
function getAstName(value) {
|
|
29
|
+
const node = toAstRecord(value);
|
|
30
|
+
if (!node) return null;
|
|
31
|
+
if (node.type === "Identifier" && typeof node.name === "string") return node.name;
|
|
32
|
+
if (typeof node.value === "string") return node.value;
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
function forEachAstChild(node, callback) {
|
|
36
|
+
for (const [key, value] of Object.entries(node)) {
|
|
37
|
+
if (SKIP_CHILD_KEYS.has(key)) continue;
|
|
38
|
+
const child = toAstRecord(value);
|
|
39
|
+
if (child) {
|
|
40
|
+
callback(child);
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
if (Array.isArray(value)) for (const item of value) {
|
|
44
|
+
const itemNode = toAstRecord(item);
|
|
45
|
+
if (itemNode) callback(itemNode);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function collectBindingNames(pattern, target) {
|
|
50
|
+
const node = toAstRecord(pattern);
|
|
51
|
+
if (!node) return;
|
|
52
|
+
switch (node.type) {
|
|
53
|
+
case "Identifier":
|
|
54
|
+
if (typeof node.name === "string") target.add(node.name);
|
|
55
|
+
return;
|
|
56
|
+
case "RestElement":
|
|
57
|
+
collectBindingNames(node.argument, target);
|
|
58
|
+
return;
|
|
59
|
+
case "AssignmentPattern":
|
|
60
|
+
collectBindingNames(node.left, target);
|
|
61
|
+
return;
|
|
62
|
+
case "ArrayPattern":
|
|
63
|
+
for (const element of nodeArray(node.elements)) collectBindingNames(element, target);
|
|
64
|
+
return;
|
|
65
|
+
case "ObjectPattern":
|
|
66
|
+
for (const property of nodeArray(node.properties)) {
|
|
67
|
+
const propertyNode = toAstRecord(property);
|
|
68
|
+
if (!propertyNode) continue;
|
|
69
|
+
collectBindingNames(propertyNode.type === "Property" ? propertyNode.value : propertyNode.argument, target);
|
|
70
|
+
}
|
|
71
|
+
return;
|
|
72
|
+
case "Property":
|
|
73
|
+
collectBindingNames(node.value, target);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//#endregion
|
|
78
|
+
export { collectBindingNames, forEachAstChild, getAstName, hasRange, isAstRecord, isIdentifierNamed, nodeArray };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Plugin } from "vite";
|
|
2
|
+
|
|
3
|
+
//#region src/plugins/async-hooks-stub.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Stubs node:async_hooks in client (browser) builds.
|
|
6
|
+
*
|
|
7
|
+
* Several shims (headers, cache, navigation-state, etc.) import
|
|
8
|
+
* AsyncLocalStorage from node:async_hooks. These shims are aliased
|
|
9
|
+
* globally via resolve.alias so they resolve in every environment.
|
|
10
|
+
* In client builds, Vite externalizes node:async_hooks to an empty
|
|
11
|
+
* __vite-browser-external stub with no named exports, causing Rollup
|
|
12
|
+
* errors. This plugin intercepts node:async_hooks in the client
|
|
13
|
+
* environment and provides a no-op AsyncLocalStorage — semantically
|
|
14
|
+
* correct since shims already guard with `_als.getStore() ?? fallback`.
|
|
15
|
+
*/
|
|
16
|
+
declare const asyncHooksStubPlugin: Plugin;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { asyncHooksStubPlugin };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//#region src/plugins/async-hooks-stub.ts
|
|
2
|
+
const ASYNC_HOOKS_STUB_ID = "\0vinext:async-hooks-stub";
|
|
3
|
+
/**
|
|
4
|
+
* Stubs node:async_hooks in client (browser) builds.
|
|
5
|
+
*
|
|
6
|
+
* Several shims (headers, cache, navigation-state, etc.) import
|
|
7
|
+
* AsyncLocalStorage from node:async_hooks. These shims are aliased
|
|
8
|
+
* globally via resolve.alias so they resolve in every environment.
|
|
9
|
+
* In client builds, Vite externalizes node:async_hooks to an empty
|
|
10
|
+
* __vite-browser-external stub with no named exports, causing Rollup
|
|
11
|
+
* errors. This plugin intercepts node:async_hooks in the client
|
|
12
|
+
* environment and provides a no-op AsyncLocalStorage — semantically
|
|
13
|
+
* correct since shims already guard with `_als.getStore() ?? fallback`.
|
|
14
|
+
*/
|
|
15
|
+
const asyncHooksStubPlugin = {
|
|
16
|
+
name: "vinext:async-hooks-stub",
|
|
17
|
+
enforce: "pre",
|
|
18
|
+
resolveId: {
|
|
19
|
+
filter: { id: /^(node:)?async_hooks$/ },
|
|
20
|
+
handler(_id) {
|
|
21
|
+
if (this.environment?.name === "client") return ASYNC_HOOKS_STUB_ID;
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
load: {
|
|
25
|
+
filter: { id: new RegExp(`^${ASYNC_HOOKS_STUB_ID}$`) },
|
|
26
|
+
handler(id) {
|
|
27
|
+
if (id === ASYNC_HOOKS_STUB_ID) return [
|
|
28
|
+
"export class AsyncLocalStorage {",
|
|
29
|
+
" run(_store, fn, ...args) { return fn(...args); }",
|
|
30
|
+
" getStore() { return undefined; }",
|
|
31
|
+
" enterWith() {}",
|
|
32
|
+
" exit(fn, ...args) { return fn(...args); }",
|
|
33
|
+
" disable() {}",
|
|
34
|
+
"}"
|
|
35
|
+
].join("\n");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
//#endregion
|
|
40
|
+
export { asyncHooksStubPlugin };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Plugin } from "vite";
|
|
2
|
+
|
|
3
|
+
//#region src/plugins/client-reference-dedup.d.ts
|
|
4
|
+
type ReadPackageJson = (path: string) => Promise<string>;
|
|
5
|
+
type ClientReferenceDedupOptions = {
|
|
6
|
+
readFile?: ReadPackageJson;
|
|
7
|
+
};
|
|
8
|
+
type PackageImportSpecifier = {
|
|
9
|
+
packageName: string;
|
|
10
|
+
specifier: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Extract the bare package name from an absolute file path containing node_modules.
|
|
14
|
+
*
|
|
15
|
+
* Handles scoped packages (`@org/name`) and nested node_modules.
|
|
16
|
+
* Returns `null` if the path doesn't contain `/node_modules/`.
|
|
17
|
+
*/
|
|
18
|
+
declare function extractPackageName(absolutePath: string): string | null;
|
|
19
|
+
/**
|
|
20
|
+
* Convert an absolute package file path into the least lossy bare import
|
|
21
|
+
* specifier that can be handed back to Vite's dependency optimizer.
|
|
22
|
+
*/
|
|
23
|
+
declare function extractPackageImportSpecifier(absolutePath: string, readPackageJson?: ReadPackageJson): Promise<PackageImportSpecifier | null>;
|
|
24
|
+
/**
|
|
25
|
+
* Intercepts absolute node_modules path imports originating from RSC
|
|
26
|
+
* `client-in-server-package-proxy` virtual modules in the client environment
|
|
27
|
+
* and redirects them through bare specifier imports. This ensures the browser
|
|
28
|
+
* loads the pre-bundled version (from `.vite/deps/`) rather than the raw ESM
|
|
29
|
+
* file, preventing module duplication and broken React contexts.
|
|
30
|
+
*
|
|
31
|
+
* Dev-only — production builds use the SSR manifest which handles this correctly.
|
|
32
|
+
*/
|
|
33
|
+
declare function clientReferenceDedupPlugin(options?: ClientReferenceDedupOptions): Plugin;
|
|
34
|
+
//#endregion
|
|
35
|
+
export { clientReferenceDedupPlugin, extractPackageImportSpecifier, extractPackageName };
|