@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
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Module, createRequire } from "node:module";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
5
|
+
//#region src/utils/commonjs-loader.ts
|
|
6
|
+
const CommonJsModule = Module;
|
|
7
|
+
function canonicalPath(filePath) {
|
|
8
|
+
const normalizedPath = filePath.startsWith("/@fs/") ? filePath.slice(4) : filePath;
|
|
9
|
+
const resolvedPath = normalizedPath.startsWith("file://") ? fileURLToPath(normalizedPath) : normalizedPath;
|
|
10
|
+
try {
|
|
11
|
+
return fs.realpathSync.native(resolvedPath);
|
|
12
|
+
} catch {
|
|
13
|
+
return path.resolve(resolvedPath);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function shouldRetryAsCommonJs(error, resolvedPath) {
|
|
17
|
+
if (!resolvedPath.endsWith(".js") || !(error instanceof Error)) return false;
|
|
18
|
+
if ("code" in error && error.code === "ERR_REQUIRE_ESM") {
|
|
19
|
+
const canonicalResolvedPath = canonicalPath(resolvedPath);
|
|
20
|
+
return error.message.includes(canonicalResolvedPath) || error.message.includes(pathToFileURL(canonicalResolvedPath).href);
|
|
21
|
+
}
|
|
22
|
+
if (!(error instanceof ReferenceError)) return false;
|
|
23
|
+
const match = error.message.match(/^(module|exports|require|__dirname|__filename) is not defined(?: in ES module scope)?/);
|
|
24
|
+
if (!match || !error.stack) return false;
|
|
25
|
+
const identifier = match[1];
|
|
26
|
+
for (const line of error.stack.split("\n").slice(1)) {
|
|
27
|
+
const location = line.match(/(?:\(|at )(.+):(\d+):(\d+)\)?$/);
|
|
28
|
+
if (!location) continue;
|
|
29
|
+
const [, framePath, lineNumberText, columnNumberText] = location;
|
|
30
|
+
const canonicalFramePath = canonicalPath(framePath);
|
|
31
|
+
if (!canonicalFramePath.endsWith(".js")) continue;
|
|
32
|
+
let sourceLine;
|
|
33
|
+
try {
|
|
34
|
+
sourceLine = fs.readFileSync(canonicalFramePath, "utf8").split(/\r?\n/)[Number(lineNumberText) - 1];
|
|
35
|
+
} catch {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const column = Number(columnNumberText) - 1;
|
|
39
|
+
if (sourceLine?.slice(column, column + identifier.length) === identifier) return true;
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
function compileCommonJsModule(resolvedPath, parent) {
|
|
44
|
+
resolvedPath = canonicalPath(resolvedPath);
|
|
45
|
+
const req = createRequire(resolvedPath);
|
|
46
|
+
const cached = req.cache[resolvedPath];
|
|
47
|
+
if (cached) return cached.exports;
|
|
48
|
+
const mod = new CommonJsModule(resolvedPath, parent);
|
|
49
|
+
mod.filename = resolvedPath;
|
|
50
|
+
mod.paths = CommonJsModule._nodeModulePaths(path.dirname(resolvedPath));
|
|
51
|
+
req.cache[resolvedPath] = mod;
|
|
52
|
+
const originalRequire = mod.require.bind(mod);
|
|
53
|
+
mod.require = ((specifier) => {
|
|
54
|
+
let dependencyPath;
|
|
55
|
+
try {
|
|
56
|
+
dependencyPath = req.resolve(specifier);
|
|
57
|
+
} catch {
|
|
58
|
+
return originalRequire(specifier);
|
|
59
|
+
}
|
|
60
|
+
if (dependencyPath.endsWith(".cjs")) return compileCommonJsModule(dependencyPath, mod);
|
|
61
|
+
try {
|
|
62
|
+
return originalRequire(specifier);
|
|
63
|
+
} catch (error) {
|
|
64
|
+
if (!shouldRetryAsCommonJs(error, dependencyPath)) throw error;
|
|
65
|
+
return compileCommonJsModule(dependencyPath, mod);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
try {
|
|
69
|
+
mod._compile(fs.readFileSync(resolvedPath, "utf8"), resolvedPath);
|
|
70
|
+
mod.loaded = true;
|
|
71
|
+
return mod.exports;
|
|
72
|
+
} catch (error) {
|
|
73
|
+
if (req.cache[resolvedPath] === mod) delete req.cache[resolvedPath];
|
|
74
|
+
throw error;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Load a `.js` file as CommonJS even when a surrounding `package.json`
|
|
79
|
+
* declares `"type": "module"`. Nested misclassified `.js` dependencies are
|
|
80
|
+
* compiled the same way, while Node keeps handling builtins, JSON, native
|
|
81
|
+
* addons, and correctly classified modules through its normal loader.
|
|
82
|
+
*/
|
|
83
|
+
function loadCommonJsModule(resolvedPath) {
|
|
84
|
+
return compileCommonJsModule(resolvedPath);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Import a module normally, retrying only `.js` files that fail because Node
|
|
88
|
+
* classified CommonJS source as ESM.
|
|
89
|
+
*/
|
|
90
|
+
async function importExportWithCommonJsFallback(resolvedPath) {
|
|
91
|
+
try {
|
|
92
|
+
const mod = await import(pathToFileURL(resolvedPath).href);
|
|
93
|
+
return mod.default ?? mod;
|
|
94
|
+
} catch (error) {
|
|
95
|
+
if (!shouldRetryAsCommonJs(error, resolvedPath)) throw error;
|
|
96
|
+
return loadCommonJsModule(resolvedPath);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//#endregion
|
|
100
|
+
export { importExportWithCommonJsFallback, loadCommonJsModule, shouldRetryAsCommonJs };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/utils/deployment-id.d.ts
|
|
2
|
+
declare const NEXT_DEPLOYMENT_ID_HEADER = "x-deployment-id";
|
|
3
|
+
declare function getDeploymentId(): string | undefined;
|
|
4
|
+
declare function appendDeploymentIdQuery(value: string, deploymentId?: string | undefined): string;
|
|
5
|
+
declare function appendAssetDeploymentIdQuery(value: string, deploymentId?: string | undefined): string;
|
|
6
|
+
declare function applyDeploymentIdHeader(headers: Headers, deploymentId?: string | undefined): void;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { NEXT_DEPLOYMENT_ID_HEADER, appendAssetDeploymentIdQuery, appendDeploymentIdQuery, applyDeploymentIdHeader, getDeploymentId };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/utils/deployment-id.ts
|
|
2
|
+
const NEXT_DEPLOYMENT_ID_HEADER = "x-deployment-id";
|
|
3
|
+
function getDeploymentId() {
|
|
4
|
+
return process.env.__VINEXT_DEPLOYMENT_ID || process.env.NEXT_DEPLOYMENT_ID || void 0;
|
|
5
|
+
}
|
|
6
|
+
function appendDeploymentIdQuery(value, deploymentId = getDeploymentId()) {
|
|
7
|
+
if (!deploymentId) return value;
|
|
8
|
+
const hashIndex = value.indexOf("#");
|
|
9
|
+
const url = hashIndex === -1 ? value : value.slice(0, hashIndex);
|
|
10
|
+
const fragment = hashIndex === -1 ? "" : value.slice(hashIndex);
|
|
11
|
+
if (new URL(url, "http://vinext.local").searchParams.has("dpl")) return value;
|
|
12
|
+
return `${url}${url.includes("?") ? "&" : "?"}dpl=${deploymentId}${fragment}`;
|
|
13
|
+
}
|
|
14
|
+
function appendAssetDeploymentIdQuery(value, deploymentId = getDeploymentId()) {
|
|
15
|
+
if (!new URL(value, "http://vinext.local").pathname.includes("/_next/static/")) return value;
|
|
16
|
+
return appendDeploymentIdQuery(value, deploymentId);
|
|
17
|
+
}
|
|
18
|
+
function applyDeploymentIdHeader(headers, deploymentId = getDeploymentId()) {
|
|
19
|
+
if (deploymentId) headers.set(NEXT_DEPLOYMENT_ID_HEADER, deploymentId);
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { NEXT_DEPLOYMENT_ID_HEADER, appendAssetDeploymentIdQuery, appendDeploymentIdQuery, applyDeploymentIdHeader, getDeploymentId };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NextI18nConfig } from "../config/next-config.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/domain-locale.d.ts
|
|
4
|
+
type DomainLocale = NonNullable<NextI18nConfig["domains"]>[number];
|
|
5
|
+
declare function normalizeDomainHostname(hostname: string | null | undefined): string | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Match a configured domain either by hostname or locale.
|
|
8
|
+
* When both are provided, the checks intentionally use OR semantics so the
|
|
9
|
+
* same helper can cover Next.js's hostname lookup and preferred-locale lookup.
|
|
10
|
+
* If both are passed, the first domain matching either input wins, so callers
|
|
11
|
+
* should pass hostname or detectedLocale, not both.
|
|
12
|
+
*/
|
|
13
|
+
declare function detectDomainLocale(domainItems?: readonly DomainLocale[], hostname?: string, detectedLocale?: string): DomainLocale | undefined;
|
|
14
|
+
declare function addLocalePrefix(path: string, locale: string, localeDefault: string): string;
|
|
15
|
+
declare function getLocalePathPrefix(path: string, locales: readonly string[] | undefined): string | undefined;
|
|
16
|
+
declare function getDomainLocaleUrl(url: string, locale: string, {
|
|
17
|
+
basePath,
|
|
18
|
+
currentHostname,
|
|
19
|
+
domainItems
|
|
20
|
+
}: {
|
|
21
|
+
basePath?: string;
|
|
22
|
+
currentHostname?: string | null;
|
|
23
|
+
domainItems?: readonly DomainLocale[];
|
|
24
|
+
}): string | undefined;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { DomainLocale, addLocalePrefix, detectDomainLocale, getDomainLocaleUrl, getLocalePathPrefix, normalizeDomainHostname };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
//#region src/utils/domain-locale.ts
|
|
2
|
+
function normalizeDomainHostname(hostname) {
|
|
3
|
+
if (!hostname) return void 0;
|
|
4
|
+
return hostname.split(",", 1)[0]?.trim().split(":", 1)[0]?.toLowerCase() || void 0;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Match a configured domain either by hostname or locale.
|
|
8
|
+
* When both are provided, the checks intentionally use OR semantics so the
|
|
9
|
+
* same helper can cover Next.js's hostname lookup and preferred-locale lookup.
|
|
10
|
+
* If both are passed, the first domain matching either input wins, so callers
|
|
11
|
+
* should pass hostname or detectedLocale, not both.
|
|
12
|
+
*/
|
|
13
|
+
function detectDomainLocale(domainItems, hostname, detectedLocale) {
|
|
14
|
+
if (!domainItems?.length) return void 0;
|
|
15
|
+
const normalizedHostname = normalizeDomainHostname(hostname);
|
|
16
|
+
const normalizedLocale = detectedLocale?.toLowerCase();
|
|
17
|
+
for (const item of domainItems) if (normalizedHostname === normalizeDomainHostname(item.domain) || normalizedLocale === item.defaultLocale.toLowerCase() || item.locales?.some((locale) => locale.toLowerCase() === normalizedLocale)) return item;
|
|
18
|
+
}
|
|
19
|
+
function addLocalePrefix(path, locale, localeDefault) {
|
|
20
|
+
const normalizedLocale = locale.toLowerCase();
|
|
21
|
+
if (normalizedLocale === localeDefault.toLowerCase()) return path;
|
|
22
|
+
const pathWithLeadingSlash = path.startsWith("/") ? path : `/${path}`;
|
|
23
|
+
const normalizedPathname = (pathWithLeadingSlash.split(/[?#]/, 1)[0] ?? pathWithLeadingSlash).toLowerCase();
|
|
24
|
+
const localePrefix = `/${normalizedLocale}`;
|
|
25
|
+
if (normalizedPathname === localePrefix || normalizedPathname.startsWith(`${localePrefix}/`)) return path.startsWith("/") ? path : pathWithLeadingSlash;
|
|
26
|
+
return `/${locale}${pathWithLeadingSlash}`;
|
|
27
|
+
}
|
|
28
|
+
function getLocalePathPrefix(path, locales) {
|
|
29
|
+
if (!locales?.length) return void 0;
|
|
30
|
+
const pathWithLeadingSlash = path.startsWith("/") ? path : `/${path}`;
|
|
31
|
+
const firstSegment = (pathWithLeadingSlash.split(/[?#]/, 1)[0] ?? pathWithLeadingSlash).split("/").find(Boolean);
|
|
32
|
+
if (!firstSegment) return void 0;
|
|
33
|
+
const normalizedSegment = firstSegment.toLowerCase();
|
|
34
|
+
return locales.find((locale) => locale.toLowerCase() === normalizedSegment);
|
|
35
|
+
}
|
|
36
|
+
function prefixBasePath(path, basePath = "") {
|
|
37
|
+
if (!basePath) return path;
|
|
38
|
+
return basePath + path;
|
|
39
|
+
}
|
|
40
|
+
function getDomainLocaleUrl(url, locale, { basePath, currentHostname, domainItems }) {
|
|
41
|
+
if (!domainItems?.length) return void 0;
|
|
42
|
+
const targetDomain = detectDomainLocale(domainItems, void 0, locale);
|
|
43
|
+
if (!targetDomain) return void 0;
|
|
44
|
+
const currentDomain = detectDomainLocale(domainItems, currentHostname ?? void 0);
|
|
45
|
+
const localizedPath = addLocalePrefix(url, locale, targetDomain.defaultLocale);
|
|
46
|
+
if (currentDomain && normalizeDomainHostname(currentDomain.domain) === normalizeDomainHostname(targetDomain.domain)) return;
|
|
47
|
+
return `${`http${targetDomain.http ? "" : "s"}://`}${targetDomain.domain}${prefixBasePath(localizedPath, basePath)}`;
|
|
48
|
+
}
|
|
49
|
+
//#endregion
|
|
50
|
+
export { addLocalePrefix, detectDomainLocale, getDomainLocaleUrl, getLocalePathPrefix, normalizeDomainHostname };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//#region src/utils/encode-cache-tag.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Cache-tag canonicalisation.
|
|
4
|
+
*
|
|
5
|
+
* Tags can flow into HTTP headers (e.g. `x-next-cache-tags` on ISR responses,
|
|
6
|
+
* Cloudflare cache-tag headers, downstream Worker code) where Node's
|
|
7
|
+
* `validateHeaderValue` rejects any byte outside `\t\x20-\x7e` and crashes
|
|
8
|
+
* the response with `ERR_INVALID_CHAR`. Even on platforms with permissive
|
|
9
|
+
* header setters, divergence between storage form and wire form silently
|
|
10
|
+
* breaks invalidation when a `revalidateTag` call's tag does not byte-match
|
|
11
|
+
* the form that was stored.
|
|
12
|
+
*
|
|
13
|
+
* The fix is to apply this encoding at every public boundary so storage,
|
|
14
|
+
* comparison, and the wire all see the same ASCII-safe form. The fast-path
|
|
15
|
+
* returns the input unchanged for already-ASCII tags (the common case), so
|
|
16
|
+
* pre-encoded `%xx` input round-trips losslessly without `decodeURIComponent`
|
|
17
|
+
* mangling literal `%xx` characters.
|
|
18
|
+
*
|
|
19
|
+
* The replacement matches *runs* of out-of-class code units rather than each
|
|
20
|
+
* code unit individually so surrogate pairs (emoji, non-BMP characters) are
|
|
21
|
+
* handed to `encodeURIComponent` as a complete code point — a per-code-unit
|
|
22
|
+
* regex would split the pair and throw `URIError`.
|
|
23
|
+
*
|
|
24
|
+
* Mirrors Next.js's `packages/next/src/server/lib/encode-cache-tag.ts`
|
|
25
|
+
* (introduced in vercel/next.js#93601).
|
|
26
|
+
*/
|
|
27
|
+
declare function encodeCacheTag(tag: string): string;
|
|
28
|
+
declare function encodeCacheTags(tags: readonly string[]): string[];
|
|
29
|
+
//#endregion
|
|
30
|
+
export { encodeCacheTag, encodeCacheTags };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
//#region src/utils/encode-cache-tag.ts
|
|
2
|
+
/**
|
|
3
|
+
* Cache-tag canonicalisation.
|
|
4
|
+
*
|
|
5
|
+
* Tags can flow into HTTP headers (e.g. `x-next-cache-tags` on ISR responses,
|
|
6
|
+
* Cloudflare cache-tag headers, downstream Worker code) where Node's
|
|
7
|
+
* `validateHeaderValue` rejects any byte outside `\t\x20-\x7e` and crashes
|
|
8
|
+
* the response with `ERR_INVALID_CHAR`. Even on platforms with permissive
|
|
9
|
+
* header setters, divergence between storage form and wire form silently
|
|
10
|
+
* breaks invalidation when a `revalidateTag` call's tag does not byte-match
|
|
11
|
+
* the form that was stored.
|
|
12
|
+
*
|
|
13
|
+
* The fix is to apply this encoding at every public boundary so storage,
|
|
14
|
+
* comparison, and the wire all see the same ASCII-safe form. The fast-path
|
|
15
|
+
* returns the input unchanged for already-ASCII tags (the common case), so
|
|
16
|
+
* pre-encoded `%xx` input round-trips losslessly without `decodeURIComponent`
|
|
17
|
+
* mangling literal `%xx` characters.
|
|
18
|
+
*
|
|
19
|
+
* The replacement matches *runs* of out-of-class code units rather than each
|
|
20
|
+
* code unit individually so surrogate pairs (emoji, non-BMP characters) are
|
|
21
|
+
* handed to `encodeURIComponent` as a complete code point — a per-code-unit
|
|
22
|
+
* regex would split the pair and throw `URIError`.
|
|
23
|
+
*
|
|
24
|
+
* Mirrors Next.js's `packages/next/src/server/lib/encode-cache-tag.ts`
|
|
25
|
+
* (introduced in vercel/next.js#93601).
|
|
26
|
+
*/
|
|
27
|
+
const OUT_OF_CLASS_CHAR = /[^\t\x20-\x7e]/;
|
|
28
|
+
const OUT_OF_CLASS_RUN = /[^\t\x20-\x7e]+/g;
|
|
29
|
+
function encodeCacheTag(tag) {
|
|
30
|
+
return OUT_OF_CLASS_CHAR.test(tag) ? tag.replace(OUT_OF_CLASS_RUN, (run) => encodeURIComponent(run)) : tag;
|
|
31
|
+
}
|
|
32
|
+
function encodeCacheTags(tags) {
|
|
33
|
+
return tags.map(encodeCacheTag);
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { encodeCacheTag, encodeCacheTags };
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
//#region src/utils/error-cause.ts
|
|
2
|
+
/**
|
|
3
|
+
* Embed an Error's `.cause` chain into its own `.message` and `.stack` so
|
|
4
|
+
* single-pass formatters (Vite's "Internal server error: ${err.message}\n${err.stack}"
|
|
5
|
+
* dev-server logger, anything that just prints message + stack) reveal the
|
|
6
|
+
* underlying root cause instead of silently dropping it.
|
|
7
|
+
*
|
|
8
|
+
* Without this, a wrapper like `new Error("Failed query", { cause: pgError })`
|
|
9
|
+
* shows up in the Vite dev console as just "Failed query" — the actual
|
|
10
|
+
* ECONNREFUSED / role-missing / socket-error in `.cause` is lost.
|
|
11
|
+
*
|
|
12
|
+
* Intended for **dev-server use only**. Production loggers (Node's
|
|
13
|
+
* `console.error` → `util.inspect`, workerd's runtime logger) already render
|
|
14
|
+
* `.cause` natively, so calling this in prod would double-print the cause —
|
|
15
|
+
* once in the synthesized message, once in util.inspect's `[cause]:` block.
|
|
16
|
+
* Callers should gate on `process.env.NODE_ENV !== "production"` (Vite
|
|
17
|
+
* build-time-replaces this, so the prod bundle gets a no-op).
|
|
18
|
+
*
|
|
19
|
+
* - Best-effort: never throws. Frozen / non-extensible errors are left untouched.
|
|
20
|
+
* - Idempotent (repeat calls are no-ops via a non-enumerable module-private symbol).
|
|
21
|
+
* - Cycle-safe and depth-capped (10) for pathological cause graphs.
|
|
22
|
+
* - Cause stack frames are appended as `at` lines so stack-cleaning regexes
|
|
23
|
+
* like Vite's `/^\s*at/` filter preserve them.
|
|
24
|
+
*/
|
|
25
|
+
const FLATTENED_MARKER = Symbol("vinext.errorCausesFlattened");
|
|
26
|
+
const MAX_CAUSE_DEPTH = 10;
|
|
27
|
+
function stringifyNonError(value) {
|
|
28
|
+
if (typeof value === "string") return value;
|
|
29
|
+
if (typeof value === "number" || typeof value === "boolean" || typeof value === "bigint") return String(value);
|
|
30
|
+
if (value === null || value === void 0) return String(value);
|
|
31
|
+
try {
|
|
32
|
+
return JSON.stringify(value) ?? Object.prototype.toString.call(value);
|
|
33
|
+
} catch {
|
|
34
|
+
return Object.prototype.toString.call(value);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function flattenErrorCauses(err) {
|
|
38
|
+
if (!(err instanceof Error)) return;
|
|
39
|
+
const marked = err;
|
|
40
|
+
if (marked[FLATTENED_MARKER]) return;
|
|
41
|
+
try {
|
|
42
|
+
Object.defineProperty(marked, FLATTENED_MARKER, {
|
|
43
|
+
value: true,
|
|
44
|
+
enumerable: false,
|
|
45
|
+
configurable: false,
|
|
46
|
+
writable: false
|
|
47
|
+
});
|
|
48
|
+
} catch {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const seen = new WeakSet([err]);
|
|
52
|
+
const causes = [];
|
|
53
|
+
let cur = err.cause;
|
|
54
|
+
let depth = 0;
|
|
55
|
+
while (cur != null && depth < MAX_CAUSE_DEPTH) {
|
|
56
|
+
if (typeof cur === "object") {
|
|
57
|
+
if (seen.has(cur)) break;
|
|
58
|
+
seen.add(cur);
|
|
59
|
+
}
|
|
60
|
+
if (cur instanceof Error) {
|
|
61
|
+
causes.push({
|
|
62
|
+
message: cur.message,
|
|
63
|
+
stack: cur.stack
|
|
64
|
+
});
|
|
65
|
+
cur = cur.cause;
|
|
66
|
+
} else {
|
|
67
|
+
causes.push({ message: stringifyNonError(cur) });
|
|
68
|
+
cur = null;
|
|
69
|
+
}
|
|
70
|
+
depth++;
|
|
71
|
+
}
|
|
72
|
+
if (causes.length === 0) return;
|
|
73
|
+
const messageSuffix = causes.map((c) => ` [cause]: ${c.message}`).join("\n");
|
|
74
|
+
try {
|
|
75
|
+
err.message = `${err.message}\n${messageSuffix}`;
|
|
76
|
+
} catch {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (typeof err.stack === "string") {
|
|
80
|
+
let stackSuffix = "";
|
|
81
|
+
for (const c of causes) {
|
|
82
|
+
const headline = c.message.split("\n", 1)[0];
|
|
83
|
+
stackSuffix += `\n at [cause: ${headline}]`;
|
|
84
|
+
if (c.stack) {
|
|
85
|
+
const frames = c.stack.split("\n").filter((l) => /^\s*at\s/.test(l)).join("\n");
|
|
86
|
+
if (frames) stackSuffix += `\n${frames}`;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
err.stack = `${err.stack}${stackSuffix}`;
|
|
91
|
+
} catch {}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
export { flattenErrorCauses };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/utils/has-trailing-comma.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Return the last syntactically significant character of a JS source fragment,
|
|
4
|
+
* skipping whitespace and comments. A forward scan tracks string and comment
|
|
5
|
+
* state so that `//` or `/*` sequences appearing INSIDE a string literal (e.g. a
|
|
6
|
+
* URL such as `"https://example.com"` or a path with a double slash) are NOT
|
|
7
|
+
* mistaken for comments.
|
|
8
|
+
*
|
|
9
|
+
* This is deliberately stricter than a whole-string comment strip: stripping
|
|
10
|
+
* every `//...`/`/* ... *\/` would also delete those sequences from inside
|
|
11
|
+
* string literals, which can swallow the real trailing comma that follows them
|
|
12
|
+
* and corrupt the trailing-comma / empty-object detection this feeds.
|
|
13
|
+
*
|
|
14
|
+
* Returns "" for an empty / whitespace-only / comment-only fragment.
|
|
15
|
+
*/
|
|
16
|
+
declare function lastSignificantChar(source: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* True when `source` ends — ignoring trailing whitespace and comments — with a
|
|
19
|
+
* real trailing comma. Used to avoid splicing a second comma (`,,` is a syntax
|
|
20
|
+
* error) when injecting a property or argument into existing source.
|
|
21
|
+
*/
|
|
22
|
+
declare function hasTrailingComma(source: string): boolean;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { hasTrailingComma, lastSignificantChar };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
//#region src/utils/has-trailing-comma.ts
|
|
2
|
+
/**
|
|
3
|
+
* Return the last syntactically significant character of a JS source fragment,
|
|
4
|
+
* skipping whitespace and comments. A forward scan tracks string and comment
|
|
5
|
+
* state so that `//` or `/*` sequences appearing INSIDE a string literal (e.g. a
|
|
6
|
+
* URL such as `"https://example.com"` or a path with a double slash) are NOT
|
|
7
|
+
* mistaken for comments.
|
|
8
|
+
*
|
|
9
|
+
* This is deliberately stricter than a whole-string comment strip: stripping
|
|
10
|
+
* every `//...`/`/* ... *\/` would also delete those sequences from inside
|
|
11
|
+
* string literals, which can swallow the real trailing comma that follows them
|
|
12
|
+
* and corrupt the trailing-comma / empty-object detection this feeds.
|
|
13
|
+
*
|
|
14
|
+
* Returns "" for an empty / whitespace-only / comment-only fragment.
|
|
15
|
+
*/
|
|
16
|
+
function lastSignificantChar(source) {
|
|
17
|
+
let last = "";
|
|
18
|
+
let i = 0;
|
|
19
|
+
const n = source.length;
|
|
20
|
+
while (i < n) {
|
|
21
|
+
const c = source[i];
|
|
22
|
+
const next = source[i + 1];
|
|
23
|
+
if (c === "/" && next === "/") {
|
|
24
|
+
i += 2;
|
|
25
|
+
while (i < n && source[i] !== "\n") i += 1;
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if (c === "/" && next === "*") {
|
|
29
|
+
i += 2;
|
|
30
|
+
while (i < n && !(source[i] === "*" && source[i + 1] === "/")) i += 1;
|
|
31
|
+
i += 2;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (c === "\"" || c === "'" || c === "`") {
|
|
35
|
+
i += 1;
|
|
36
|
+
while (i < n && source[i] !== c) {
|
|
37
|
+
if (source[i] === "\\") i += 1;
|
|
38
|
+
i += 1;
|
|
39
|
+
}
|
|
40
|
+
last = c;
|
|
41
|
+
i += 1;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (/\s/.test(c)) {
|
|
45
|
+
i += 1;
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
last = c;
|
|
49
|
+
i += 1;
|
|
50
|
+
}
|
|
51
|
+
return last;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* True when `source` ends — ignoring trailing whitespace and comments — with a
|
|
55
|
+
* real trailing comma. Used to avoid splicing a second comma (`,,` is a syntax
|
|
56
|
+
* error) when injecting a property or argument into existing source.
|
|
57
|
+
*/
|
|
58
|
+
function hasTrailingComma(source) {
|
|
59
|
+
return lastSignificantChar(source) === ",";
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
export { hasTrailingComma, lastSignificantChar };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/utils/hash.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* FNV-1a hash producing a 64-bit result (two 32-bit rounds with different seeds).
|
|
4
|
+
* Used for deterministic key generation where collisions must be rare.
|
|
5
|
+
*
|
|
6
|
+
* This is a vinext-internal format: nothing outside vinext ever compares
|
|
7
|
+
* these values, so the algorithm only needs to be deterministic. For values
|
|
8
|
+
* that must be byte-for-byte identical to what Next.js emits (ETags), use
|
|
9
|
+
* `fnv1a52` below instead — the two are NOT interchangeable.
|
|
10
|
+
*/
|
|
11
|
+
declare function fnv1a64(input: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* FNV-1a hash producing a 52-bit result, a byte-for-byte port of Next.js's
|
|
14
|
+
* `fnv1a52` in packages/next/src/server/lib/etag.ts (itself derived from
|
|
15
|
+
* fnv-plus). Used for ETag generation, where matching Next.js's exact output
|
|
16
|
+
* matters: clients and CDNs holding `If-None-Match` values from a Next.js
|
|
17
|
+
* deployment keep revalidating (304) against vinext for unchanged payloads.
|
|
18
|
+
*
|
|
19
|
+
* Deliberately separate from `fnv1a64` above — that one is a vinext-internal
|
|
20
|
+
* key format and produces different values. Do not swap one for the other.
|
|
21
|
+
*/
|
|
22
|
+
declare function fnv1a52(str: string): number;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { fnv1a52, fnv1a64 };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
//#region src/utils/hash.ts
|
|
2
|
+
/**
|
|
3
|
+
* FNV-1a hash producing a 64-bit result (two 32-bit rounds with different seeds).
|
|
4
|
+
* Used for deterministic key generation where collisions must be rare.
|
|
5
|
+
*
|
|
6
|
+
* This is a vinext-internal format: nothing outside vinext ever compares
|
|
7
|
+
* these values, so the algorithm only needs to be deterministic. For values
|
|
8
|
+
* that must be byte-for-byte identical to what Next.js emits (ETags), use
|
|
9
|
+
* `fnv1a52` below instead — the two are NOT interchangeable.
|
|
10
|
+
*/
|
|
11
|
+
function fnv1a64(input) {
|
|
12
|
+
let h1 = 2166136261;
|
|
13
|
+
for (let i = 0; i < input.length; i++) {
|
|
14
|
+
h1 ^= input.charCodeAt(i);
|
|
15
|
+
h1 = h1 * 16777619 >>> 0;
|
|
16
|
+
}
|
|
17
|
+
let h2 = 84696351;
|
|
18
|
+
for (let i = 0; i < input.length; i++) {
|
|
19
|
+
h2 ^= input.charCodeAt(i);
|
|
20
|
+
h2 = h2 * 16777619 >>> 0;
|
|
21
|
+
}
|
|
22
|
+
return h1.toString(16).padStart(8, "0") + h2.toString(16).padStart(8, "0");
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* FNV-1a hash producing a 52-bit result, a byte-for-byte port of Next.js's
|
|
26
|
+
* `fnv1a52` in packages/next/src/server/lib/etag.ts (itself derived from
|
|
27
|
+
* fnv-plus). Used for ETag generation, where matching Next.js's exact output
|
|
28
|
+
* matters: clients and CDNs holding `If-None-Match` values from a Next.js
|
|
29
|
+
* deployment keep revalidating (304) against vinext for unchanged payloads.
|
|
30
|
+
*
|
|
31
|
+
* Deliberately separate from `fnv1a64` above — that one is a vinext-internal
|
|
32
|
+
* key format and produces different values. Do not swap one for the other.
|
|
33
|
+
*/
|
|
34
|
+
function fnv1a52(str) {
|
|
35
|
+
const len = str.length;
|
|
36
|
+
let i = 0, t0 = 0, v0 = 8997, t1 = 0, v1 = 33826, t2 = 0, v2 = 40164, t3 = 0, v3 = 52210;
|
|
37
|
+
while (i < len) {
|
|
38
|
+
v0 ^= str.charCodeAt(i++);
|
|
39
|
+
t0 = v0 * 435;
|
|
40
|
+
t1 = v1 * 435;
|
|
41
|
+
t2 = v2 * 435;
|
|
42
|
+
t3 = v3 * 435;
|
|
43
|
+
t2 += v0 << 8;
|
|
44
|
+
t3 += v1 << 8;
|
|
45
|
+
t1 += t0 >>> 16;
|
|
46
|
+
v0 = t0 & 65535;
|
|
47
|
+
t2 += t1 >>> 16;
|
|
48
|
+
v1 = t1 & 65535;
|
|
49
|
+
v3 = t3 + (t2 >>> 16) & 65535;
|
|
50
|
+
v2 = t2 & 65535;
|
|
51
|
+
}
|
|
52
|
+
return (v3 & 15) * 281474976710656 + v2 * 4294967296 + v1 * 65536 + (v0 ^ v3 >> 4);
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { fnv1a52, fnv1a64 };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/utils/html-limited-bots.d.ts
|
|
2
|
+
declare function getHtmlLimitedBotRegex(htmlLimitedBots: string | undefined): RegExp;
|
|
3
|
+
/**
|
|
4
|
+
* Returns true when the User-Agent matches a known crawler/bot. Combines
|
|
5
|
+
* Next.js's "headless browser bot" check (Googlebot proper) with the
|
|
6
|
+
* "HTML-limited bot" list (Bingbot, DuckDuckBot, facebookexternalhit, …).
|
|
7
|
+
*
|
|
8
|
+
* Used by the Pages Router fallback path: a bot hitting an unlisted
|
|
9
|
+
* `fallback: true` route should get a synchronous render (real content) and
|
|
10
|
+
* not the loading shell, so the crawler indexes the actual page. Mirrors
|
|
11
|
+
* Next.js's `isBot()` in `.nextjs-ref/packages/next/src/shared/lib/router/utils/is-bot.ts`
|
|
12
|
+
* and the bot-aware fallback flip in
|
|
13
|
+
* `.nextjs-ref/packages/next/src/server/route-modules/pages/pages-handler.ts`.
|
|
14
|
+
*
|
|
15
|
+
* `htmlLimitedBots` allows next.config to override the HTML-limited list
|
|
16
|
+
* (same flag that drives `getHtmlLimitedBotRegex`), so a custom list applies
|
|
17
|
+
* to both streaming metadata gating and bot-aware fallback rendering.
|
|
18
|
+
*/
|
|
19
|
+
declare function isBotUserAgent(userAgent: string, htmlLimitedBots?: string): boolean;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { getHtmlLimitedBotRegex, isBotUserAgent };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//#region src/utils/html-limited-bots.ts
|
|
2
|
+
const HTML_LIMITED_BOT_UA_RE_STRING = String.raw`[\w-]+-Google|Google-[\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight`;
|
|
3
|
+
const HEADLESS_BROWSER_BOT_UA_RE = /Googlebot(?!-)|Googlebot$/i;
|
|
4
|
+
const htmlLimitedBotRegexCache = /* @__PURE__ */ new Map();
|
|
5
|
+
function getHtmlLimitedBotRegex(htmlLimitedBots) {
|
|
6
|
+
const source = htmlLimitedBots || HTML_LIMITED_BOT_UA_RE_STRING;
|
|
7
|
+
const cached = htmlLimitedBotRegexCache.get(source);
|
|
8
|
+
if (cached) return cached;
|
|
9
|
+
const regex = new RegExp(source, "i");
|
|
10
|
+
htmlLimitedBotRegexCache.set(source, regex);
|
|
11
|
+
return regex;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Returns true when the User-Agent matches a known crawler/bot. Combines
|
|
15
|
+
* Next.js's "headless browser bot" check (Googlebot proper) with the
|
|
16
|
+
* "HTML-limited bot" list (Bingbot, DuckDuckBot, facebookexternalhit, …).
|
|
17
|
+
*
|
|
18
|
+
* Used by the Pages Router fallback path: a bot hitting an unlisted
|
|
19
|
+
* `fallback: true` route should get a synchronous render (real content) and
|
|
20
|
+
* not the loading shell, so the crawler indexes the actual page. Mirrors
|
|
21
|
+
* Next.js's `isBot()` in `.nextjs-ref/packages/next/src/shared/lib/router/utils/is-bot.ts`
|
|
22
|
+
* and the bot-aware fallback flip in
|
|
23
|
+
* `.nextjs-ref/packages/next/src/server/route-modules/pages/pages-handler.ts`.
|
|
24
|
+
*
|
|
25
|
+
* `htmlLimitedBots` allows next.config to override the HTML-limited list
|
|
26
|
+
* (same flag that drives `getHtmlLimitedBotRegex`), so a custom list applies
|
|
27
|
+
* to both streaming metadata gating and bot-aware fallback rendering.
|
|
28
|
+
*/
|
|
29
|
+
function isBotUserAgent(userAgent, htmlLimitedBots) {
|
|
30
|
+
if (!userAgent) return false;
|
|
31
|
+
if (HEADLESS_BROWSER_BOT_UA_RE.test(userAgent)) return true;
|
|
32
|
+
return getHtmlLimitedBotRegex(htmlLimitedBots).test(userAgent);
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { getHtmlLimitedBotRegex, isBotUserAgent };
|