vinext 0.0.36 → 0.0.38
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/README.md +2 -2
- package/dist/cache.d.ts +2 -0
- package/dist/cache.js +2 -0
- package/dist/cli.js +6 -22
- package/dist/cli.js.map +1 -1
- package/dist/client/empty-module.d.ts +1 -0
- package/dist/client/empty-module.js +1 -0
- package/dist/client/entry.js +2 -0
- package/dist/client/entry.js.map +1 -1
- package/dist/client/instrumentation-client-state.d.ts +10 -0
- package/dist/client/instrumentation-client-state.js +19 -0
- package/dist/client/instrumentation-client-state.js.map +1 -0
- package/dist/client/instrumentation-client.d.ts +8 -0
- package/dist/client/instrumentation-client.js +8 -0
- package/dist/client/instrumentation-client.js.map +1 -0
- package/dist/cloudflare/tpr.js +1 -3
- package/dist/cloudflare/tpr.js.map +1 -1
- package/dist/deploy.js +9 -3
- package/dist/deploy.js.map +1 -1
- package/dist/entries/app-rsc-entry.js +34 -22
- package/dist/entries/app-rsc-entry.js.map +1 -1
- package/dist/entries/pages-client-entry.js +2 -0
- package/dist/entries/pages-client-entry.js.map +1 -1
- package/dist/entries/pages-server-entry.js +41 -260
- package/dist/entries/pages-server-entry.js.map +1 -1
- package/dist/entries/runtime-entry-module.d.ts +13 -1
- package/dist/entries/runtime-entry-module.js +18 -4
- package/dist/entries/runtime-entry-module.js.map +1 -1
- package/dist/index.d.ts +13 -11
- package/dist/index.js +101 -696
- package/dist/index.js.map +1 -1
- package/dist/plugins/fix-use-server-closure-collision.d.ts +29 -0
- package/dist/plugins/fix-use-server-closure-collision.js +204 -0
- package/dist/plugins/fix-use-server-closure-collision.js.map +1 -0
- package/dist/plugins/fonts.d.ts +39 -0
- package/dist/plugins/fonts.js +432 -0
- package/dist/plugins/fonts.js.map +1 -0
- package/dist/plugins/instrumentation-client.d.ts +7 -0
- package/dist/plugins/instrumentation-client.js +29 -0
- package/dist/plugins/instrumentation-client.js.map +1 -0
- package/dist/plugins/og-assets.d.ts +26 -0
- package/dist/plugins/og-assets.js +118 -0
- package/dist/plugins/og-assets.js.map +1 -0
- package/dist/server/api-handler.js +6 -23
- package/dist/server/api-handler.js.map +1 -1
- package/dist/server/app-browser-entry.js +5 -1
- package/dist/server/app-browser-entry.js.map +1 -1
- package/dist/server/dev-server.js +3 -1
- package/dist/server/dev-server.js.map +1 -1
- package/dist/server/instrumentation.d.ts +5 -1
- package/dist/server/instrumentation.js +15 -6
- package/dist/server/instrumentation.js.map +1 -1
- package/dist/server/middleware.d.ts +2 -0
- package/dist/server/middleware.js +14 -7
- package/dist/server/middleware.js.map +1 -1
- package/dist/server/normalize-path.d.ts +22 -1
- package/dist/server/normalize-path.js +32 -1
- package/dist/server/normalize-path.js.map +1 -1
- package/dist/server/pages-api-route.d.ts +23 -0
- package/dist/server/pages-api-route.js +40 -0
- package/dist/server/pages-api-route.js.map +1 -0
- package/dist/server/pages-media-type.d.ts +16 -0
- package/dist/server/pages-media-type.js +25 -0
- package/dist/server/pages-media-type.js.map +1 -0
- package/dist/server/pages-node-compat.d.ts +45 -0
- package/dist/server/pages-node-compat.js +148 -0
- package/dist/server/pages-node-compat.js.map +1 -0
- package/dist/server/prod-server.js +1 -0
- package/dist/server/prod-server.js.map +1 -1
- package/dist/shims/cache-for-request.d.ts +58 -0
- package/dist/shims/cache-for-request.js +74 -0
- package/dist/shims/cache-for-request.js.map +1 -0
- package/dist/shims/dynamic.js +25 -10
- package/dist/shims/dynamic.js.map +1 -1
- package/dist/shims/headers.js +1 -1
- package/dist/shims/image.js +24 -8
- package/dist/shims/image.js.map +1 -1
- package/dist/shims/layout-segment-context.js +9 -3
- package/dist/shims/layout-segment-context.js.map +1 -1
- package/dist/shims/link.js +2 -0
- package/dist/shims/link.js.map +1 -1
- package/dist/shims/navigation.js +2 -0
- package/dist/shims/navigation.js.map +1 -1
- package/dist/shims/server.d.ts +1 -0
- package/dist/shims/server.js +3 -0
- package/dist/shims/server.js.map +1 -1
- package/dist/shims/unified-request-context.d.ts +2 -0
- package/dist/shims/unified-request-context.js +1 -0
- package/dist/shims/unified-request-context.js.map +1 -1
- package/package.json +8 -4
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { resolveEntryPath } from "./runtime-entry-module.js";
|
|
1
2
|
import { isProxyFile } from "../server/middleware.js";
|
|
2
3
|
import { generateMiddlewareMatcherCode, generateNormalizePathCode, generateRouteMatchNormalizationCode, generateSafeRegExpCode } from "../server/middleware-codegen.js";
|
|
3
4
|
import { generateDevOriginCheckCode } from "../server/dev-origin-check.js";
|
|
4
5
|
import fs from "node:fs";
|
|
5
|
-
import { fileURLToPath } from "node:url";
|
|
6
6
|
//#region src/entries/app-rsc-entry.ts
|
|
7
7
|
/**
|
|
8
8
|
* App Router RSC entry generator.
|
|
@@ -13,20 +13,22 @@ import { fileURLToPath } from "node:url";
|
|
|
13
13
|
*
|
|
14
14
|
* Previously housed in server/app-dev-server.ts.
|
|
15
15
|
*/
|
|
16
|
-
const configMatchersPath =
|
|
17
|
-
const requestPipelinePath =
|
|
18
|
-
const requestContextShimPath =
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const
|
|
16
|
+
const configMatchersPath = resolveEntryPath("../config/config-matchers.js", import.meta.url);
|
|
17
|
+
const requestPipelinePath = resolveEntryPath("../server/request-pipeline.js", import.meta.url);
|
|
18
|
+
const requestContextShimPath = resolveEntryPath("../shims/request-context.js", import.meta.url);
|
|
19
|
+
const normalizePathModulePath = resolveEntryPath("../server/normalize-path.js", import.meta.url);
|
|
20
|
+
const appRouteHandlerRuntimePath = resolveEntryPath("../server/app-route-handler-runtime.js", import.meta.url);
|
|
21
|
+
const appRouteHandlerPolicyPath = resolveEntryPath("../server/app-route-handler-policy.js", import.meta.url);
|
|
22
|
+
const appRouteHandlerExecutionPath = resolveEntryPath("../server/app-route-handler-execution.js", import.meta.url);
|
|
23
|
+
const appRouteHandlerCachePath = resolveEntryPath("../server/app-route-handler-cache.js", import.meta.url);
|
|
24
|
+
const appPageCachePath = resolveEntryPath("../server/app-page-cache.js", import.meta.url);
|
|
25
|
+
const appPageExecutionPath = resolveEntryPath("../server/app-page-execution.js", import.meta.url);
|
|
26
|
+
const appPageBoundaryRenderPath = resolveEntryPath("../server/app-page-boundary-render.js", import.meta.url);
|
|
27
|
+
const appPageRenderPath = resolveEntryPath("../server/app-page-render.js", import.meta.url);
|
|
28
|
+
const appPageRequestPath = resolveEntryPath("../server/app-page-request.js", import.meta.url);
|
|
29
|
+
const appRouteHandlerResponsePath = resolveEntryPath("../server/app-route-handler-response.js", import.meta.url);
|
|
30
|
+
const routeTriePath = resolveEntryPath("../routing/route-trie.js", import.meta.url);
|
|
31
|
+
const metadataRoutesPath = resolveEntryPath("../server/metadata-routes.js", import.meta.url);
|
|
30
32
|
/**
|
|
31
33
|
* Generate the virtual RSC entry module.
|
|
32
34
|
*
|
|
@@ -213,8 +215,9 @@ import { LayoutSegmentProvider } from "vinext/layout-segment-context";
|
|
|
213
215
|
import { MetadataHead, mergeMetadata, resolveModuleMetadata, ViewportHead, mergeViewport, resolveModuleViewport } from "vinext/metadata";
|
|
214
216
|
${middlewarePath ? `import * as middlewareModule from ${JSON.stringify(middlewarePath.replace(/\\/g, "/"))};` : ""}
|
|
215
217
|
${instrumentationPath ? `import * as _instrumentation from ${JSON.stringify(instrumentationPath.replace(/\\/g, "/"))};` : ""}
|
|
216
|
-
${effectiveMetaRoutes.length > 0 ? `import { sitemapToXml, robotsToText, manifestToJson } from ${JSON.stringify(
|
|
218
|
+
${effectiveMetaRoutes.length > 0 ? `import { sitemapToXml, robotsToText, manifestToJson } from ${JSON.stringify(metadataRoutesPath)};` : ""}
|
|
217
219
|
import { requestContextFromRequest, normalizeHost, matchRedirect, matchRewrite, matchHeaders, isExternalUrl, proxyExternalRequest, sanitizeDestination } from ${JSON.stringify(configMatchersPath)};
|
|
220
|
+
import { decodePathParams as __decodePathParams } from ${JSON.stringify(normalizePathModulePath)};
|
|
218
221
|
import { validateCsrfOrigin, validateImageUrl, guardProtocolRelativeUrl, hasBasePath, stripBasePath, normalizeTrailingSlash, processMiddlewareHeaders } from ${JSON.stringify(requestPipelinePath)};
|
|
219
222
|
import {
|
|
220
223
|
isKnownDynamicAppRoute as __isKnownDynamicAppRoute,
|
|
@@ -1438,10 +1441,14 @@ async function _handleRequest(request, __reqCtx, _mwCtx) {
|
|
|
1438
1441
|
const __mwNextConfig = (__basePath || __i18nConfig) ? { basePath: __basePath, i18n: __i18nConfig ?? undefined } : undefined;
|
|
1439
1442
|
const nextRequest = mwRequest instanceof NextRequest ? mwRequest : new NextRequest(mwRequest, __mwNextConfig ? { nextConfig: __mwNextConfig } : undefined);
|
|
1440
1443
|
const mwFetchEvent = new NextFetchEvent({ page: cleanPathname });
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1444
|
+
let mwResponse;
|
|
1445
|
+
try {
|
|
1446
|
+
mwResponse = await middlewareFn(nextRequest, mwFetchEvent);
|
|
1447
|
+
} finally {
|
|
1448
|
+
const _mwWaitUntil = mwFetchEvent.drainWaitUntil();
|
|
1449
|
+
const _mwExecCtx = _getRequestExecutionContext();
|
|
1450
|
+
if (_mwExecCtx && typeof _mwExecCtx.waitUntil === "function") { _mwExecCtx.waitUntil(_mwWaitUntil); }
|
|
1451
|
+
}
|
|
1445
1452
|
if (mwResponse) {
|
|
1446
1453
|
// Check for x-middleware-next (continue)
|
|
1447
1454
|
if (mwResponse.headers.get("x-middleware-next") === "1") {
|
|
@@ -1823,7 +1830,12 @@ async function _handleRequest(request, __reqCtx, _mwCtx) {
|
|
|
1823
1830
|
if (!isRscRequest) {
|
|
1824
1831
|
const __pagesEntry = await import.meta.viteRsc.loadModule("ssr", "index");
|
|
1825
1832
|
if (typeof __pagesEntry.renderPage === "function") {
|
|
1826
|
-
|
|
1833
|
+
// Use segment-wise decoding to preserve encoded path delimiters (%2F).
|
|
1834
|
+
// decodeURIComponent would turn /admin%2Fpanel into /admin/panel,
|
|
1835
|
+
// changing the path structure and bypassing middleware matchers.
|
|
1836
|
+
// Ported from Next.js: packages/next/src/server/lib/router-utils/decode-path-params.ts
|
|
1837
|
+
// https://github.com/vercel/next.js/blob/canary/packages/next/src/server/lib/router-utils/decode-path-params.ts
|
|
1838
|
+
const __pagesRes = await __pagesEntry.renderPage(request, __decodePathParams(url.pathname) + (url.search || ""), {});
|
|
1827
1839
|
// Only return the Pages Router response if it matched a route
|
|
1828
1840
|
// (non-404). A 404 means the path isn't a Pages route either,
|
|
1829
1841
|
// so fall through to the App Router not-found page below.
|
|
@@ -1966,7 +1978,7 @@ async function _handleRequest(request, __reqCtx, _mwCtx) {
|
|
|
1966
1978
|
markDynamicUsage,
|
|
1967
1979
|
method,
|
|
1968
1980
|
middlewareContext: _mwCtx,
|
|
1969
|
-
params,
|
|
1981
|
+
params: makeThenableParams(params),
|
|
1970
1982
|
reportRequestError: _reportRequestError,
|
|
1971
1983
|
request,
|
|
1972
1984
|
revalidateSeconds,
|