vinext 0.0.44 → 0.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/google-fonts/build-url.d.ts +10 -0
- package/dist/build/google-fonts/build-url.js +30 -0
- package/dist/build/google-fonts/build-url.js.map +1 -0
- package/dist/build/google-fonts/font-data.js +24985 -0
- package/dist/build/google-fonts/font-data.js.map +1 -0
- package/dist/build/google-fonts/font-metadata.d.ts +17 -0
- package/dist/build/google-fonts/font-metadata.js +7 -0
- package/dist/build/google-fonts/font-metadata.js.map +1 -0
- package/dist/build/google-fonts/get-axes.d.ts +7 -0
- package/dist/build/google-fonts/get-axes.js +39 -0
- package/dist/build/google-fonts/get-axes.js.map +1 -0
- package/dist/build/google-fonts/sort-variants.d.ts +5 -0
- package/dist/build/google-fonts/sort-variants.js +14 -0
- package/dist/build/google-fonts/sort-variants.js.map +1 -0
- package/dist/build/google-fonts/validate.d.ts +28 -0
- package/dist/build/google-fonts/validate.js +56 -0
- package/dist/build/google-fonts/validate.js.map +1 -0
- package/dist/build/layout-classification.d.ts +1 -1
- package/dist/build/layout-classification.js.map +1 -1
- package/dist/build/nitro-route-rules.d.ts +1 -1
- package/dist/build/nitro-route-rules.js.map +1 -1
- package/dist/build/precompress.d.ts +1 -1
- package/dist/build/precompress.js.map +1 -1
- package/dist/build/prerender.d.ts +1 -7
- package/dist/build/prerender.js +17 -6
- package/dist/build/prerender.js.map +1 -1
- package/dist/build/run-prerender.d.ts +1 -13
- package/dist/build/run-prerender.js +5 -1
- package/dist/build/run-prerender.js.map +1 -1
- package/dist/build/standalone.d.ts +1 -1
- package/dist/build/standalone.js +4 -3
- package/dist/build/standalone.js.map +1 -1
- package/dist/check.js +30 -18
- package/dist/check.js.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/cloudflare/kv-cache-handler.d.ts +5 -0
- package/dist/cloudflare/kv-cache-handler.js +56 -35
- package/dist/cloudflare/kv-cache-handler.js.map +1 -1
- package/dist/cloudflare/tpr.d.ts +1 -16
- package/dist/cloudflare/tpr.js +1 -1
- package/dist/cloudflare/tpr.js.map +1 -1
- package/dist/config/config-matchers.js +1 -0
- package/dist/config/config-matchers.js.map +1 -1
- package/dist/config/dotenv.d.ts +1 -1
- package/dist/config/dotenv.js.map +1 -1
- package/dist/config/next-config.d.ts +38 -2
- package/dist/config/next-config.js +24 -0
- package/dist/config/next-config.js.map +1 -1
- package/dist/deploy.d.ts +1 -1
- package/dist/deploy.js +18 -23
- package/dist/deploy.js.map +1 -1
- package/dist/entries/app-rsc-entry.js +387 -1718
- package/dist/entries/app-rsc-entry.js.map +1 -1
- package/dist/entries/app-rsc-manifest.d.ts +24 -0
- package/dist/entries/app-rsc-manifest.js +153 -0
- package/dist/entries/app-rsc-manifest.js.map +1 -0
- package/dist/entries/pages-server-entry.js +13 -103
- package/dist/entries/pages-server-entry.js.map +1 -1
- package/dist/index.js +59 -34
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +1 -1
- package/dist/init.js.map +1 -1
- package/dist/plugins/async-hooks-stub.d.ts +1 -2
- package/dist/plugins/async-hooks-stub.js +2 -2
- package/dist/plugins/async-hooks-stub.js.map +1 -1
- package/dist/plugins/fonts.d.ts +1 -20
- package/dist/plugins/fonts.js +42 -21
- package/dist/plugins/fonts.js.map +1 -1
- package/dist/plugins/rsc-client-shim-excludes.d.ts +6 -0
- package/dist/plugins/rsc-client-shim-excludes.js +27 -0
- package/dist/plugins/rsc-client-shim-excludes.js.map +1 -0
- package/dist/plugins/server-externals-manifest.d.ts +1 -11
- package/dist/plugins/server-externals-manifest.js +1 -1
- package/dist/plugins/server-externals-manifest.js.map +1 -1
- package/dist/routing/app-router.d.ts +14 -5
- package/dist/routing/app-router.js +82 -5
- package/dist/routing/app-router.js.map +1 -1
- package/dist/routing/file-matcher.d.ts +1 -3
- package/dist/routing/file-matcher.js +1 -1
- package/dist/routing/file-matcher.js.map +1 -1
- package/dist/routing/route-pattern.d.ts +9 -0
- package/dist/routing/route-pattern.js +90 -0
- package/dist/routing/route-pattern.js.map +1 -0
- package/dist/routing/route-trie.js +10 -11
- package/dist/routing/route-trie.js.map +1 -1
- package/dist/routing/utils.d.ts +1 -29
- package/dist/routing/utils.js +1 -1
- package/dist/routing/utils.js.map +1 -1
- package/dist/server/app-browser-entry.js +63 -5
- package/dist/server/app-browser-entry.js.map +1 -1
- package/dist/server/app-browser-state.d.ts +1 -1
- package/dist/server/app-browser-state.js.map +1 -1
- package/dist/server/app-browser-stream.d.ts +1 -1
- package/dist/server/app-browser-stream.js.map +1 -1
- package/dist/server/app-elements.d.ts +1 -2
- package/dist/server/app-elements.js +1 -1
- package/dist/server/app-elements.js.map +1 -1
- package/dist/server/app-middleware.d.ts +32 -0
- package/dist/server/app-middleware.js +147 -0
- package/dist/server/app-middleware.js.map +1 -0
- package/dist/server/app-page-boundary-render.d.ts +5 -1
- package/dist/server/app-page-boundary-render.js +52 -30
- package/dist/server/app-page-boundary-render.js.map +1 -1
- package/dist/server/app-page-boundary.d.ts +13 -1
- package/dist/server/app-page-boundary.js +37 -17
- package/dist/server/app-page-boundary.js.map +1 -1
- package/dist/server/app-page-cache.d.ts +4 -1
- package/dist/server/app-page-cache.js +38 -2
- package/dist/server/app-page-cache.js.map +1 -1
- package/dist/server/app-page-dispatch.d.ts +120 -0
- package/dist/server/app-page-dispatch.js +332 -0
- package/dist/server/app-page-dispatch.js.map +1 -0
- package/dist/server/app-page-execution.d.ts +6 -3
- package/dist/server/app-page-execution.js +22 -10
- package/dist/server/app-page-execution.js.map +1 -1
- package/dist/server/app-page-head.d.ts +55 -0
- package/dist/server/app-page-head.js +196 -0
- package/dist/server/app-page-head.js.map +1 -0
- package/dist/server/app-page-method.d.ts +16 -0
- package/dist/server/app-page-method.js +30 -0
- package/dist/server/app-page-method.js.map +1 -0
- package/dist/server/app-page-params.d.ts +7 -0
- package/dist/server/app-page-params.js +28 -0
- package/dist/server/app-page-params.js.map +1 -0
- package/dist/server/app-page-probe.d.ts +1 -1
- package/dist/server/app-page-probe.js.map +1 -1
- package/dist/server/app-page-render.d.ts +4 -3
- package/dist/server/app-page-render.js +54 -8
- package/dist/server/app-page-render.js.map +1 -1
- package/dist/server/app-page-request.d.ts +5 -5
- package/dist/server/app-page-request.js.map +1 -1
- package/dist/server/app-page-response.d.ts +1 -1
- package/dist/server/app-page-response.js.map +1 -1
- package/dist/server/app-page-route-wiring.d.ts +15 -11
- package/dist/server/app-page-route-wiring.js +31 -9
- package/dist/server/app-page-route-wiring.js.map +1 -1
- package/dist/server/app-page-stream.d.ts +12 -1
- package/dist/server/app-page-stream.js +10 -4
- package/dist/server/app-page-stream.js.map +1 -1
- package/dist/server/app-prerender-endpoints.d.ts +19 -0
- package/dist/server/app-prerender-endpoints.js +96 -0
- package/dist/server/app-prerender-endpoints.js.map +1 -0
- package/dist/server/app-prerender-static-params.d.ts +16 -0
- package/dist/server/app-prerender-static-params.js +14 -0
- package/dist/server/app-prerender-static-params.js.map +1 -0
- package/dist/server/app-route-handler-cache.d.ts +4 -1
- package/dist/server/app-route-handler-cache.js +6 -2
- package/dist/server/app-route-handler-cache.js.map +1 -1
- package/dist/server/app-route-handler-dispatch.d.ts +42 -0
- package/dist/server/app-route-handler-dispatch.js +147 -0
- package/dist/server/app-route-handler-dispatch.js.map +1 -0
- package/dist/server/app-route-handler-execution.d.ts +7 -3
- package/dist/server/app-route-handler-execution.js +32 -6
- package/dist/server/app-route-handler-execution.js.map +1 -1
- package/dist/server/app-route-handler-policy.d.ts +6 -2
- package/dist/server/app-route-handler-policy.js +8 -3
- package/dist/server/app-route-handler-policy.js.map +1 -1
- package/dist/server/app-route-handler-response.d.ts +2 -1
- package/dist/server/app-route-handler-response.js +44 -4
- package/dist/server/app-route-handler-response.js.map +1 -1
- package/dist/server/app-route-handler-runtime.d.ts +5 -2
- package/dist/server/app-route-handler-runtime.js +108 -2
- package/dist/server/app-route-handler-runtime.js.map +1 -1
- package/dist/server/app-router-entry.js.map +1 -1
- package/dist/server/app-rsc-errors.d.ts +27 -0
- package/dist/server/app-rsc-errors.js +42 -0
- package/dist/server/app-rsc-errors.js.map +1 -0
- package/dist/server/app-rsc-route-matching.d.ts +40 -0
- package/dist/server/app-rsc-route-matching.js +66 -0
- package/dist/server/app-rsc-route-matching.js.map +1 -0
- package/dist/server/app-server-action-execution.d.ts +120 -0
- package/dist/server/app-server-action-execution.js +355 -0
- package/dist/server/app-server-action-execution.js.map +1 -0
- package/dist/server/app-ssr-entry.d.ts +7 -0
- package/dist/server/app-ssr-entry.js +30 -9
- package/dist/server/app-ssr-entry.js.map +1 -1
- package/dist/server/app-ssr-stream.d.ts +5 -3
- package/dist/server/app-ssr-stream.js +29 -2
- package/dist/server/app-ssr-stream.js.map +1 -1
- package/dist/server/app-static-generation.d.ts +15 -0
- package/dist/server/app-static-generation.js +20 -0
- package/dist/server/app-static-generation.js.map +1 -0
- package/dist/server/csp.d.ts +1 -2
- package/dist/server/csp.js +1 -1
- package/dist/server/csp.js.map +1 -1
- package/dist/server/dev-module-runner.d.ts +1 -1
- package/dist/server/dev-module-runner.js.map +1 -1
- package/dist/server/dev-route-files.d.ts +7 -0
- package/dist/server/dev-route-files.js +73 -0
- package/dist/server/dev-route-files.js.map +1 -0
- package/dist/server/dev-server.js +4 -0
- package/dist/server/dev-server.js.map +1 -1
- package/dist/server/file-based-metadata.d.ts +17 -0
- package/dist/server/file-based-metadata.js +356 -0
- package/dist/server/file-based-metadata.js.map +1 -0
- package/dist/server/implicit-tags.d.ts +6 -0
- package/dist/server/implicit-tags.js +42 -0
- package/dist/server/implicit-tags.js.map +1 -0
- package/dist/server/instrumentation.js.map +1 -1
- package/dist/server/isr-cache.d.ts +20 -2
- package/dist/server/isr-cache.js +58 -7
- package/dist/server/isr-cache.js.map +1 -1
- package/dist/server/metadata-route-build-data.d.ts +25 -0
- package/dist/server/metadata-route-build-data.js +150 -0
- package/dist/server/metadata-route-build-data.js.map +1 -0
- package/dist/server/metadata-route-response.d.ts +17 -0
- package/dist/server/metadata-route-response.js +187 -0
- package/dist/server/metadata-route-response.js.map +1 -0
- package/dist/server/metadata-routes.d.ts +42 -4
- package/dist/server/metadata-routes.js +127 -11
- package/dist/server/metadata-routes.js.map +1 -1
- package/dist/server/middleware-matcher.d.ts +15 -0
- package/dist/server/middleware-matcher.js +102 -0
- package/dist/server/middleware-matcher.js.map +1 -0
- package/dist/server/middleware-request-headers.d.ts +1 -3
- package/dist/server/middleware-request-headers.js +5 -4
- package/dist/server/middleware-request-headers.js.map +1 -1
- package/dist/server/middleware-runtime.d.ts +39 -0
- package/dist/server/middleware-runtime.js +159 -0
- package/dist/server/middleware-runtime.js.map +1 -0
- package/dist/server/middleware.d.ts +5 -37
- package/dist/server/middleware.js +18 -228
- package/dist/server/middleware.js.map +1 -1
- package/dist/server/pages-api-route.d.ts +1 -1
- package/dist/server/pages-api-route.js.map +1 -1
- package/dist/server/pages-i18n.d.ts +2 -3
- package/dist/server/pages-i18n.js +1 -1
- package/dist/server/pages-i18n.js.map +1 -1
- package/dist/server/pages-node-compat.d.ts +1 -2
- package/dist/server/pages-node-compat.js +1 -1
- package/dist/server/pages-node-compat.js.map +1 -1
- package/dist/server/pages-page-data.d.ts +6 -2
- package/dist/server/pages-page-data.js +4 -0
- package/dist/server/pages-page-data.js.map +1 -1
- package/dist/server/pages-page-response.d.ts +1 -1
- package/dist/server/pages-page-response.js +2 -1
- package/dist/server/pages-page-response.js.map +1 -1
- package/dist/server/prerender-work-unit-setup.d.ts +7 -0
- package/dist/server/prerender-work-unit-setup.js +30 -0
- package/dist/server/prerender-work-unit-setup.js.map +1 -0
- package/dist/server/prod-server.js +12 -14
- package/dist/server/prod-server.js.map +1 -1
- package/dist/server/request-pipeline.d.ts +46 -5
- package/dist/server/request-pipeline.js +84 -5
- package/dist/server/request-pipeline.js.map +1 -1
- package/dist/server/rsc-stream-hints.d.ts +5 -0
- package/dist/server/rsc-stream-hints.js +35 -0
- package/dist/server/rsc-stream-hints.js.map +1 -0
- package/dist/server/seed-cache.js.map +1 -1
- package/dist/server/server-action-not-found.d.ts +9 -0
- package/dist/server/server-action-not-found.js +40 -0
- package/dist/server/server-action-not-found.js.map +1 -0
- package/dist/server/socket-error-backstop.d.ts +17 -0
- package/dist/server/socket-error-backstop.js +129 -0
- package/dist/server/socket-error-backstop.js.map +1 -0
- package/dist/server/static-file-cache.d.ts +1 -1
- package/dist/server/static-file-cache.js.map +1 -1
- package/dist/shims/cache-runtime.js +16 -3
- package/dist/shims/cache-runtime.js.map +1 -1
- package/dist/shims/cache.d.ts +27 -2
- package/dist/shims/cache.js +135 -24
- package/dist/shims/cache.js.map +1 -1
- package/dist/shims/error-boundary.d.ts +49 -4
- package/dist/shims/error-boundary.js +76 -4
- package/dist/shims/error-boundary.js.map +1 -1
- package/dist/shims/fetch-cache.d.ts +10 -1
- package/dist/shims/fetch-cache.js +24 -4
- package/dist/shims/fetch-cache.js.map +1 -1
- package/dist/shims/font-google-base.d.ts +21 -22
- package/dist/shims/font-google-base.js +86 -29
- package/dist/shims/font-google-base.js.map +1 -1
- package/dist/shims/form.js +1 -1
- package/dist/shims/headers.d.ts +14 -2
- package/dist/shims/headers.js +127 -17
- package/dist/shims/headers.js.map +1 -1
- package/dist/shims/image.js +26 -8
- package/dist/shims/image.js.map +1 -1
- package/dist/shims/internal/make-hanging-promise.d.ts +16 -0
- package/dist/shims/internal/make-hanging-promise.js +46 -0
- package/dist/shims/internal/make-hanging-promise.js.map +1 -0
- package/dist/shims/internal/work-unit-async-storage.d.ts +26 -3
- package/dist/shims/internal/work-unit-async-storage.js +6 -3
- package/dist/shims/internal/work-unit-async-storage.js.map +1 -1
- package/dist/shims/link.js +1 -1
- package/dist/shims/metadata.d.ts +38 -26
- package/dist/shims/metadata.js +75 -45
- package/dist/shims/metadata.js.map +1 -1
- package/dist/shims/navigation.d.ts +17 -4
- package/dist/shims/navigation.js +29 -6
- package/dist/shims/navigation.js.map +1 -1
- package/dist/shims/navigation.react-server.d.ts +2 -2
- package/dist/shims/navigation.react-server.js +2 -2
- package/dist/shims/navigation.react-server.js.map +1 -1
- package/dist/shims/offline.d.ts +5 -0
- package/dist/shims/offline.js +17 -0
- package/dist/shims/offline.js.map +1 -0
- package/dist/shims/request-state-types.d.ts +2 -1
- package/dist/shims/root-params.d.ts +11 -0
- package/dist/shims/root-params.js +24 -0
- package/dist/shims/root-params.js.map +1 -0
- package/dist/shims/router.js +1 -1
- package/dist/shims/server.d.ts +5 -1
- package/dist/shims/server.js +101 -10
- package/dist/shims/server.js.map +1 -1
- package/dist/shims/thenable-params.d.ts +5 -0
- package/dist/shims/thenable-params.js +37 -0
- package/dist/shims/thenable-params.js.map +1 -0
- package/dist/shims/unified-request-context.d.ts +2 -1
- package/dist/shims/unified-request-context.js +4 -0
- package/dist/shims/unified-request-context.js.map +1 -1
- package/dist/shims/url-safety.d.ts +3 -1
- package/dist/shims/url-safety.js +5 -1
- package/dist/shims/url-safety.js.map +1 -1
- package/dist/utils/error-cause.d.ts +5 -0
- package/dist/utils/error-cause.js +97 -0
- package/dist/utils/error-cause.js.map +1 -0
- package/dist/utils/lazy-chunks.d.ts +1 -1
- package/dist/utils/lazy-chunks.js.map +1 -1
- package/package.json +6 -1
- package/dist/server/middleware-codegen.d.ts +0 -54
- package/dist/server/middleware-codegen.js +0 -414
- package/dist/server/middleware-codegen.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -3,17 +3,21 @@ import { normalizePathnameForRouteMatchStrict } from "./routing/utils.js";
|
|
|
3
3
|
import { createValidFileMatcher } from "./routing/file-matcher.js";
|
|
4
4
|
import { apiRouter, invalidateRouteCache, matchRoute, pagesRouter } from "./routing/pages-router.js";
|
|
5
5
|
import { buildRequestHeadersFromMiddlewareResponse } from "./server/middleware-request-headers.js";
|
|
6
|
-
import { isExternalUrl, matchHeaders, matchRedirect, matchRewrite, proxyExternalRequest, requestContextFromRequest, sanitizeDestination } from "./config/config-matchers.js";
|
|
7
6
|
import { normalizePath as normalizePath$1 } from "./server/normalize-path.js";
|
|
7
|
+
import { isExternalUrl, matchHeaders, matchRedirect, matchRewrite, proxyExternalRequest, requestContextFromRequest, sanitizeDestination } from "./config/config-matchers.js";
|
|
8
|
+
import { hasBasePath } from "./utils/base-path.js";
|
|
9
|
+
import { isOpenRedirectShaped } from "./server/request-pipeline.js";
|
|
8
10
|
import { findMiddlewareFile, runMiddleware } from "./server/middleware.js";
|
|
9
11
|
import { generateServerEntry } from "./entries/pages-server-entry.js";
|
|
10
12
|
import { generateClientEntry } from "./entries/pages-client-entry.js";
|
|
11
13
|
import { appRouter, invalidateAppRouteCache } from "./routing/app-router.js";
|
|
12
14
|
import { findInstrumentationClientFile, findInstrumentationFile, runInstrumentation } from "./server/instrumentation.js";
|
|
13
|
-
import { hasBasePath } from "./utils/base-path.js";
|
|
14
15
|
import { logRequest, now } from "./server/request-log.js";
|
|
15
16
|
import { createSSRHandler } from "./server/dev-server.js";
|
|
16
17
|
import { handleApiRoute } from "./server/api-handler.js";
|
|
18
|
+
import { installSocketErrorBackstop } from "./server/socket-error-backstop.js";
|
|
19
|
+
import { scanMetadataFiles } from "./server/metadata-routes.js";
|
|
20
|
+
import { shouldInvalidateAppRouteFile } from "./server/dev-route-files.js";
|
|
17
21
|
import { createDirectRunner } from "./server/dev-module-runner.js";
|
|
18
22
|
import { validateDevRequest } from "./server/dev-origin-check.js";
|
|
19
23
|
import { generateRscEntry } from "./entries/app-rsc-entry.js";
|
|
@@ -23,15 +27,14 @@ import { buildGenerateBundleReplacement, buildReasonsReplacement, collectRouteCl
|
|
|
23
27
|
import { classifyLayoutByModuleGraph, isStaticModuleGraphResult, moduleGraphReason } from "./build/layout-classification.js";
|
|
24
28
|
import { PHASE_DEVELOPMENT_SERVER, PHASE_PRODUCTION_BUILD } from "./shims/constants.js";
|
|
25
29
|
import { findNextConfigPath, loadNextConfig, resolveNextConfig, resolveNextConfigInput } from "./config/next-config.js";
|
|
26
|
-
import { isOpenRedirectShaped } from "./server/request-pipeline.js";
|
|
27
30
|
import { precompressAssets } from "./build/precompress.js";
|
|
28
|
-
import { scanMetadataFiles } from "./server/metadata-routes.js";
|
|
29
31
|
import { manifestFileWithBase, manifestFilesWithBase } from "./utils/manifest-paths.js";
|
|
30
32
|
import { asyncHooksStubPlugin } from "./plugins/async-hooks-stub.js";
|
|
31
33
|
import { clientReferenceDedupPlugin } from "./plugins/client-reference-dedup.js";
|
|
32
34
|
import { createInstrumentationClientTransformPlugin } from "./plugins/instrumentation-client.js";
|
|
33
35
|
import { createOptimizeImportsPlugin } from "./plugins/optimize-imports.js";
|
|
34
36
|
import { createOgInlineFetchAssetsPlugin, ogAssetsPlugin } from "./plugins/og-assets.js";
|
|
37
|
+
import { VINEXT_OPTIMIZE_DEPS_EXCLUDE, mergeOptimizeDepsExclude } from "./plugins/rsc-client-shim-excludes.js";
|
|
35
38
|
import { createServerExternalsManifestPlugin } from "./plugins/server-externals-manifest.js";
|
|
36
39
|
import { RESOLVED_VIRTUAL_GOOGLE_FONTS, VIRTUAL_GOOGLE_FONTS, createGoogleFontsPlugin, createLocalFontsPlugin, generateGoogleFontsVirtualModule, parseStaticObjectLiteral } from "./plugins/fonts.js";
|
|
37
40
|
import { computeLazyChunks } from "./utils/lazy-chunks.js";
|
|
@@ -53,6 +56,7 @@ import MagicString from "magic-string";
|
|
|
53
56
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
54
57
|
import commonjs from "vite-plugin-commonjs";
|
|
55
58
|
//#region src/index.ts
|
|
59
|
+
installSocketErrorBackstop();
|
|
56
60
|
const __dirname = import.meta.dirname;
|
|
57
61
|
function resolveOptionalDependency(projectRoot, specifier) {
|
|
58
62
|
try {
|
|
@@ -203,12 +207,23 @@ const VIRTUAL_APP_SSR_ENTRY = "virtual:vinext-app-ssr-entry";
|
|
|
203
207
|
const RESOLVED_APP_SSR_ENTRY = "\0" + VIRTUAL_APP_SSR_ENTRY;
|
|
204
208
|
const VIRTUAL_APP_BROWSER_ENTRY = "virtual:vinext-app-browser-entry";
|
|
205
209
|
const RESOLVED_APP_BROWSER_ENTRY = "\0" + VIRTUAL_APP_BROWSER_ENTRY;
|
|
210
|
+
const RESOLVED_ROOT_PARAMS = "\0virtual:vinext-root-params";
|
|
206
211
|
/** Image file extensions handled by the vinext:image-imports plugin.
|
|
207
212
|
* Shared between the Rolldown hook filter and the transform handler regex. */
|
|
208
213
|
const IMAGE_EXTS = "png|jpe?g|gif|webp|avif|svg|ico|bmp|tiff?";
|
|
209
214
|
/** Absolute path to vinext's shims directory, used by clientManualChunks. */
|
|
210
215
|
const _shimsDir = path.resolve(__dirname, "shims") + "/";
|
|
211
216
|
const _fontGoogleShimPath = resolveShimModulePath(_shimsDir, "font-google");
|
|
217
|
+
function isValidExportIdentifier(name) {
|
|
218
|
+
return /^[$A-Z_a-z][$\w]*$/.test(name);
|
|
219
|
+
}
|
|
220
|
+
function generateRootParamsModule(rootParamNames) {
|
|
221
|
+
const names = Array.from(new Set(rootParamNames)).filter(isValidExportIdentifier).sort();
|
|
222
|
+
if (names.length === 0) return "export {};\n";
|
|
223
|
+
const rootParamsShimPath = resolveShimModulePath(_shimsDir, "root-params");
|
|
224
|
+
const exports = names.map((name) => `export function ${name}() { return getRootParam(${JSON.stringify(name)}); }`).join("\n");
|
|
225
|
+
return `import { getRootParam } from ${JSON.stringify(rootParamsShimPath)};\n${exports}\n`;
|
|
226
|
+
}
|
|
212
227
|
/**
|
|
213
228
|
* Shims with a `.react-server.ts` variant for the RSC environment.
|
|
214
229
|
* Maps import specifier → base shim name. In the RSC env, resolveId
|
|
@@ -449,6 +464,7 @@ function vinext(options = {}) {
|
|
|
449
464
|
"next/og": path.join(shimsDir, "og"),
|
|
450
465
|
"next/web-vitals": path.join(shimsDir, "web-vitals"),
|
|
451
466
|
"next/amp": path.join(shimsDir, "amp"),
|
|
467
|
+
"next/offline": path.join(shimsDir, "offline"),
|
|
452
468
|
"next/error": path.join(shimsDir, "error"),
|
|
453
469
|
"next/constants": path.join(shimsDir, "constants"),
|
|
454
470
|
"next/dist/shared/lib/app-router-context.shared-runtime": path.join(shimsDir, "internal", "app-router-context"),
|
|
@@ -462,6 +478,7 @@ function vinext(options = {}) {
|
|
|
462
478
|
"next/dist/client/components/work-unit-async-storage.external": path.join(shimsDir, "internal", "work-unit-async-storage"),
|
|
463
479
|
"next/dist/client/components/request-async-storage.external": path.join(shimsDir, "internal", "work-unit-async-storage"),
|
|
464
480
|
"next/dist/client/components/request-async-storage": path.join(shimsDir, "internal", "work-unit-async-storage"),
|
|
481
|
+
"next/dist/server/request/root-params": path.join(shimsDir, "root-params"),
|
|
465
482
|
"next/dist/server/config-shared": path.join(shimsDir, "internal", "utils"),
|
|
466
483
|
"server-only": path.join(shimsDir, "server-only"),
|
|
467
484
|
"client-only": path.join(shimsDir, "client-only"),
|
|
@@ -555,12 +572,7 @@ function vinext(options = {}) {
|
|
|
555
572
|
}
|
|
556
573
|
};
|
|
557
574
|
viteConfig.optimizeDeps = {
|
|
558
|
-
exclude:
|
|
559
|
-
...incomingExclude,
|
|
560
|
-
"vinext",
|
|
561
|
-
"@vercel/og",
|
|
562
|
-
"@tailwindcss/oxide"
|
|
563
|
-
])],
|
|
575
|
+
exclude: mergeOptimizeDepsExclude(incomingExclude, VINEXT_OPTIMIZE_DEPS_EXCLUDE, ["@tailwindcss/oxide"]),
|
|
564
576
|
...incomingInclude.length > 0 ? { include: incomingInclude } : {},
|
|
565
577
|
rolldownOptions: { plugins: [depOptimizeAliasPlugin] }
|
|
566
578
|
};
|
|
@@ -581,11 +593,7 @@ function vinext(options = {}) {
|
|
|
581
593
|
...userSsrExternal === true ? {} : { noExternal: true }
|
|
582
594
|
} },
|
|
583
595
|
optimizeDeps: {
|
|
584
|
-
exclude:
|
|
585
|
-
...incomingExclude,
|
|
586
|
-
"vinext",
|
|
587
|
-
"@vercel/og"
|
|
588
|
-
])],
|
|
596
|
+
exclude: mergeOptimizeDepsExclude(incomingExclude, VINEXT_OPTIMIZE_DEPS_EXCLUDE),
|
|
589
597
|
entries: optimizeEntries
|
|
590
598
|
},
|
|
591
599
|
build: {
|
|
@@ -599,11 +607,7 @@ function vinext(options = {}) {
|
|
|
599
607
|
...userSsrExternal === true ? {} : { noExternal: true }
|
|
600
608
|
} },
|
|
601
609
|
optimizeDeps: {
|
|
602
|
-
exclude:
|
|
603
|
-
...incomingExclude,
|
|
604
|
-
"vinext",
|
|
605
|
-
"@vercel/og"
|
|
606
|
-
])],
|
|
610
|
+
exclude: mergeOptimizeDepsExclude(incomingExclude, VINEXT_OPTIMIZE_DEPS_EXCLUDE),
|
|
607
611
|
entries: optimizeEntries
|
|
608
612
|
},
|
|
609
613
|
build: {
|
|
@@ -614,12 +618,7 @@ function vinext(options = {}) {
|
|
|
614
618
|
client: {
|
|
615
619
|
consumer: "client",
|
|
616
620
|
optimizeDeps: {
|
|
617
|
-
exclude:
|
|
618
|
-
...incomingExclude,
|
|
619
|
-
"vinext",
|
|
620
|
-
"@vercel/og",
|
|
621
|
-
...nextServerExternal
|
|
622
|
-
])],
|
|
621
|
+
exclude: mergeOptimizeDepsExclude(incomingExclude, VINEXT_OPTIMIZE_DEPS_EXCLUDE, nextServerExternal),
|
|
623
622
|
entries: optimizeEntries,
|
|
624
623
|
include: [...new Set([
|
|
625
624
|
...incomingInclude,
|
|
@@ -720,6 +719,7 @@ function vinext(options = {}) {
|
|
|
720
719
|
if (cleanId === VIRTUAL_RSC_ENTRY) return RESOLVED_RSC_ENTRY;
|
|
721
720
|
if (cleanId === VIRTUAL_APP_SSR_ENTRY) return RESOLVED_APP_SSR_ENTRY;
|
|
722
721
|
if (cleanId === VIRTUAL_APP_BROWSER_ENTRY) return RESOLVED_APP_BROWSER_ENTRY;
|
|
722
|
+
if (cleanId === "next/root-params" || cleanId === "next/root-params.js") return RESOLVED_ROOT_PARAMS;
|
|
723
723
|
if (cleanId.startsWith("virtual:vinext-google-fonts?")) return RESOLVED_VIRTUAL_GOOGLE_FONTS + cleanId.slice(VIRTUAL_GOOGLE_FONTS.length);
|
|
724
724
|
if (cleanId.endsWith("/" + VIRTUAL_RSC_ENTRY) || cleanId.endsWith("\\" + VIRTUAL_RSC_ENTRY)) return RESOLVED_RSC_ENTRY;
|
|
725
725
|
if (cleanId.endsWith("/" + VIRTUAL_APP_SSR_ENTRY) || cleanId.endsWith("\\" + VIRTUAL_APP_SSR_ENTRY)) return RESOLVED_APP_SSR_ENTRY;
|
|
@@ -752,6 +752,7 @@ function vinext(options = {}) {
|
|
|
752
752
|
publicFiles: scanPublicFileRoutes(root)
|
|
753
753
|
}, instrumentationPath);
|
|
754
754
|
}
|
|
755
|
+
if (id === RESOLVED_ROOT_PARAMS) return generateRootParamsModule((hasAppDir ? await appRouter(appDir, nextConfig?.pageExtensions, fileMatcher) : []).flatMap((route) => route.rootParamNames ?? []));
|
|
755
756
|
if (id === RESOLVED_APP_SSR_ENTRY && hasAppDir) return generateSsrEntry(hasPagesDir);
|
|
756
757
|
if (id === RESOLVED_APP_BROWSER_ENTRY && hasAppDir) return generateBrowserEntry();
|
|
757
758
|
if (id.startsWith("\0virtual:vinext-google-fonts?")) return generateGoogleFontsVirtualModule(id, _fontGoogleShimPath);
|
|
@@ -902,19 +903,27 @@ function vinext(options = {}) {
|
|
|
902
903
|
rscEnv.hot.send({ type: "full-reload" });
|
|
903
904
|
}
|
|
904
905
|
}
|
|
906
|
+
function invalidateRootParamsModule() {
|
|
907
|
+
for (const env of Object.values(server.environments)) {
|
|
908
|
+
const mod = env.moduleGraph.getModuleById(RESOLVED_ROOT_PARAMS);
|
|
909
|
+
if (mod) env.moduleGraph.invalidateModule(mod);
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
function invalidateAppRoutingModules() {
|
|
913
|
+
invalidateAppRouteCache();
|
|
914
|
+
invalidateRscEntryModule();
|
|
915
|
+
invalidateRootParamsModule();
|
|
916
|
+
}
|
|
917
|
+
server.httpServer?.on("connection", (socket) => {
|
|
918
|
+
socket.on("error", () => {});
|
|
919
|
+
});
|
|
905
920
|
server.watcher.on("add", (filePath) => {
|
|
906
921
|
if (hasPagesDir && filePath.startsWith(pagesDir) && pageExtensions.test(filePath)) invalidateRouteCache(pagesDir);
|
|
907
|
-
if (hasAppDir &&
|
|
908
|
-
invalidateAppRouteCache();
|
|
909
|
-
invalidateRscEntryModule();
|
|
910
|
-
}
|
|
922
|
+
if (hasAppDir && shouldInvalidateAppRouteFile(appDir, filePath, fileMatcher)) invalidateAppRoutingModules();
|
|
911
923
|
});
|
|
912
924
|
server.watcher.on("unlink", (filePath) => {
|
|
913
925
|
if (hasPagesDir && filePath.startsWith(pagesDir) && pageExtensions.test(filePath)) invalidateRouteCache(pagesDir);
|
|
914
|
-
if (hasAppDir &&
|
|
915
|
-
invalidateAppRouteCache();
|
|
916
|
-
invalidateRscEntryModule();
|
|
917
|
-
}
|
|
926
|
+
if (hasAppDir && shouldInvalidateAppRouteFile(appDir, filePath, fileMatcher)) invalidateAppRoutingModules();
|
|
918
927
|
});
|
|
919
928
|
server.middlewares.use((req, res, next) => {
|
|
920
929
|
const blockReason = validateDevRequest({
|
|
@@ -1081,6 +1090,10 @@ function vinext(options = {}) {
|
|
|
1081
1090
|
const applyDeferredMwHeaders = () => {
|
|
1082
1091
|
if (deferredMwResponseHeaders) for (const [key, value] of deferredMwResponseHeaders) res.appendHeader(key, value);
|
|
1083
1092
|
};
|
|
1093
|
+
const applyMwRequestHeadersForExternalProxy = () => {
|
|
1094
|
+
if (middlewareRequestHeaders) applyRequestHeadersToNodeRequest(middlewareRequestHeaders);
|
|
1095
|
+
else delete req.headers["x-vinext-mw-ctx"];
|
|
1096
|
+
};
|
|
1084
1097
|
if (middlewarePath) {
|
|
1085
1098
|
const rawProto = process.env.VINEXT_TRUST_PROXY === "1" || (process.env.VINEXT_TRUSTED_HOSTS ?? "").split(",").some((h) => h.trim()) ? String(req.headers["x-forwarded-proto"] || "").split(",")[0].trim() : "";
|
|
1086
1099
|
const origin = `${rawProto === "https" || rawProto === "http" ? rawProto : "http"}://${req.headers.host || "localhost"}`;
|
|
@@ -1146,6 +1159,7 @@ function vinext(options = {}) {
|
|
|
1146
1159
|
if (nextConfig?.rewrites.beforeFiles.length) resolvedUrl = applyRewrites(pathname, nextConfig.rewrites.beforeFiles, reqCtx) ?? url;
|
|
1147
1160
|
if (isExternalUrl(resolvedUrl)) {
|
|
1148
1161
|
applyDeferredMwHeaders();
|
|
1162
|
+
applyMwRequestHeadersForExternalProxy();
|
|
1149
1163
|
await proxyExternalRewriteNode(req, res, resolvedUrl);
|
|
1150
1164
|
return;
|
|
1151
1165
|
}
|
|
@@ -1169,6 +1183,7 @@ function vinext(options = {}) {
|
|
|
1169
1183
|
}
|
|
1170
1184
|
if (isExternalUrl(resolvedUrl)) {
|
|
1171
1185
|
applyDeferredMwHeaders();
|
|
1186
|
+
applyMwRequestHeadersForExternalProxy();
|
|
1172
1187
|
await proxyExternalRewriteNode(req, res, resolvedUrl);
|
|
1173
1188
|
return;
|
|
1174
1189
|
}
|
|
@@ -1185,6 +1200,7 @@ function vinext(options = {}) {
|
|
|
1185
1200
|
if (fallbackRewrite) {
|
|
1186
1201
|
if (isExternalUrl(fallbackRewrite)) {
|
|
1187
1202
|
applyDeferredMwHeaders();
|
|
1203
|
+
applyMwRequestHeadersForExternalProxy();
|
|
1188
1204
|
await proxyExternalRewriteNode(req, res, fallbackRewrite);
|
|
1189
1205
|
return;
|
|
1190
1206
|
}
|
|
@@ -1437,6 +1453,15 @@ function vinext(options = {}) {
|
|
|
1437
1453
|
}
|
|
1438
1454
|
};
|
|
1439
1455
|
})(),
|
|
1456
|
+
{
|
|
1457
|
+
name: "vinext:hash-salt",
|
|
1458
|
+
apply: "build",
|
|
1459
|
+
augmentChunkHash() {
|
|
1460
|
+
if (this.environment?.name !== "client") return;
|
|
1461
|
+
const salt = nextConfig?.hashSalt;
|
|
1462
|
+
if (salt) return salt;
|
|
1463
|
+
}
|
|
1464
|
+
},
|
|
1440
1465
|
(() => {
|
|
1441
1466
|
const prerenderSecret = randomBytes(32).toString("hex");
|
|
1442
1467
|
return {
|