vinext 0.1.2 → 0.1.3
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/prerender.d.ts +9 -1
- package/dist/build/prerender.js +41 -12
- package/dist/build/run-prerender.d.ts +10 -2
- package/dist/build/run-prerender.js +15 -1
- package/dist/client/app-nav-failure-handler.d.ts +8 -0
- package/dist/client/app-nav-failure-handler.js +44 -0
- package/dist/client/vinext-next-data.d.ts +18 -1
- package/dist/client/window-next.d.ts +2 -1
- package/dist/client/window-next.js +12 -1
- package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +6 -1
- package/dist/config/config-matchers.js +73 -14
- package/dist/config/next-config.d.ts +46 -4
- package/dist/config/next-config.js +147 -48
- package/dist/deploy.d.ts +30 -11
- package/dist/deploy.js +180 -99
- package/dist/entries/app-browser-entry.d.ts +9 -3
- package/dist/entries/app-browser-entry.js +21 -3
- package/dist/entries/app-rsc-entry.d.ts +2 -0
- package/dist/entries/app-rsc-entry.js +64 -5
- package/dist/entries/app-rsc-manifest.js +2 -0
- package/dist/entries/app-ssr-entry.js +1 -1
- package/dist/entries/pages-client-entry.js +53 -8
- package/dist/entries/pages-server-entry.js +41 -5
- package/dist/index.js +200 -62
- package/dist/plugins/extensionless-dynamic-import.d.ts +6 -0
- package/dist/plugins/extensionless-dynamic-import.js +152 -0
- package/dist/plugins/optimize-imports.d.ts +2 -1
- package/dist/plugins/optimize-imports.js +11 -9
- package/dist/plugins/postcss.js +7 -7
- package/dist/plugins/typeof-window.d.ts +14 -0
- package/dist/plugins/typeof-window.js +150 -0
- package/dist/routing/app-route-graph.d.ts +2 -1
- package/dist/routing/app-route-graph.js +44 -14
- package/dist/routing/file-matcher.d.ts +10 -1
- package/dist/routing/file-matcher.js +22 -1
- package/dist/routing/pages-router.js +3 -3
- package/dist/routing/utils.d.ts +35 -6
- package/dist/routing/utils.js +59 -7
- package/dist/server/api-handler.d.ts +6 -1
- package/dist/server/api-handler.js +21 -15
- package/dist/server/app-browser-action-result.d.ts +19 -6
- package/dist/server/app-browser-action-result.js +19 -10
- package/dist/server/app-browser-entry.js +167 -90
- package/dist/server/app-browser-error.d.ts +10 -6
- package/dist/server/app-browser-error.js +43 -8
- package/dist/server/app-browser-hydration.d.ts +2 -0
- package/dist/server/app-browser-hydration.js +1 -0
- package/dist/server/app-browser-navigation-controller.d.ts +4 -2
- package/dist/server/app-browser-navigation-controller.js +23 -2
- 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-stream.js +86 -43
- package/dist/server/app-elements-wire.d.ts +6 -1
- package/dist/server/app-elements-wire.js +14 -4
- package/dist/server/app-elements.d.ts +2 -2
- package/dist/server/app-elements.js +2 -2
- package/dist/server/app-fallback-renderer.d.ts +1 -0
- package/dist/server/app-fallback-renderer.js +3 -1
- package/dist/server/app-optimistic-routing.js +2 -2
- package/dist/server/app-page-boundary-render.d.ts +1 -0
- package/dist/server/app-page-boundary-render.js +27 -14
- 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 +16 -2
- package/dist/server/app-page-cache.js +62 -1
- package/dist/server/app-page-dispatch.d.ts +26 -0
- package/dist/server/app-page-dispatch.js +149 -92
- package/dist/server/app-page-element-builder.d.ts +1 -0
- package/dist/server/app-page-element-builder.js +5 -2
- package/dist/server/app-page-execution.d.ts +6 -1
- package/dist/server/app-page-execution.js +21 -1
- package/dist/server/app-page-probe.d.ts +1 -0
- package/dist/server/app-page-probe.js +4 -0
- package/dist/server/app-page-render-observation.d.ts +3 -1
- package/dist/server/app-page-render-observation.js +17 -1
- package/dist/server/app-page-render.d.ts +12 -1
- package/dist/server/app-page-render.js +42 -4
- package/dist/server/app-page-request.d.ts +2 -0
- package/dist/server/app-page-request.js +2 -1
- package/dist/server/app-page-route-wiring.d.ts +3 -1
- package/dist/server/app-page-route-wiring.js +14 -5
- package/dist/server/app-page-stream.d.ts +15 -3
- package/dist/server/app-page-stream.js +11 -5
- package/dist/server/app-pages-bridge.d.ts +18 -0
- package/dist/server/app-pages-bridge.js +22 -5
- package/dist/server/app-ppr-fallback-shell-render.d.ts +17 -0
- package/dist/server/app-ppr-fallback-shell-render.js +26 -0
- package/dist/server/app-ppr-fallback-shell.d.ts +13 -1
- package/dist/server/app-ppr-fallback-shell.js +8 -1
- package/dist/server/app-route-handler-dispatch.js +9 -2
- package/dist/server/app-route-handler-policy.d.ts +1 -0
- package/dist/server/app-router-entry.js +5 -0
- package/dist/server/app-rsc-cache-busting.js +2 -0
- package/dist/server/app-rsc-handler.d.ts +25 -0
- package/dist/server/app-rsc-handler.js +154 -54
- package/dist/server/app-rsc-route-matching.d.ts +3 -0
- package/dist/server/app-rsc-route-matching.js +2 -0
- package/dist/server/app-segment-config.d.ts +9 -1
- package/dist/server/app-segment-config.js +12 -3
- package/dist/server/app-server-action-execution.d.ts +1 -0
- package/dist/server/app-server-action-execution.js +42 -13
- package/dist/server/app-ssr-entry.d.ts +2 -0
- package/dist/server/app-ssr-entry.js +83 -10
- package/dist/server/cache-control.js +4 -0
- package/dist/server/dev-server.d.ts +2 -2
- package/dist/server/dev-server.js +244 -51
- 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 +18 -9
- package/dist/server/image-optimization.js +37 -23
- package/dist/server/implicit-tags.d.ts +2 -1
- package/dist/server/implicit-tags.js +4 -1
- package/dist/server/navigation-planner.d.ts +133 -30
- package/dist/server/navigation-planner.js +114 -0
- package/dist/server/navigation-trace.d.ts +8 -1
- package/dist/server/navigation-trace.js +8 -1
- package/dist/server/pages-api-route.d.ts +6 -0
- package/dist/server/pages-api-route.js +13 -2
- package/dist/server/pages-asset-tags.d.ts +2 -1
- package/dist/server/pages-asset-tags.js +6 -2
- package/dist/server/pages-data-route.d.ts +8 -1
- package/dist/server/pages-data-route.js +11 -2
- package/dist/server/pages-get-initial-props.d.ts +54 -4
- package/dist/server/pages-get-initial-props.js +43 -1
- package/dist/server/pages-node-compat.js +2 -2
- package/dist/server/pages-page-data.d.ts +11 -2
- package/dist/server/pages-page-data.js +204 -33
- package/dist/server/pages-page-handler.d.ts +4 -2
- package/dist/server/pages-page-handler.js +59 -22
- package/dist/server/pages-page-response.d.ts +2 -1
- package/dist/server/pages-page-response.js +7 -4
- package/dist/server/pages-request-pipeline.d.ts +1 -0
- package/dist/server/pages-request-pipeline.js +73 -36
- package/dist/server/pregenerated-concrete-paths.d.ts +1 -17
- package/dist/server/pregenerated-concrete-paths.js +2 -19
- 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 +1 -2
- package/dist/server/prod-server.js +9 -3
- package/dist/server/request-pipeline.d.ts +3 -15
- package/dist/server/request-pipeline.js +58 -47
- package/dist/server/rsc-stream-hints.d.ts +5 -1
- package/dist/server/rsc-stream-hints.js +6 -1
- package/dist/server/seed-cache.js +10 -18
- package/dist/shims/app-router-scroll-state.d.ts +3 -1
- package/dist/shims/app-router-scroll-state.js +14 -2
- package/dist/shims/app-router-scroll.d.ts +3 -0
- package/dist/shims/app-router-scroll.js +28 -18
- package/dist/shims/cache-runtime.js +3 -2
- package/dist/shims/cache.d.ts +1 -0
- package/dist/shims/cache.js +1 -1
- package/dist/shims/cdn-cache.d.ts +5 -5
- package/dist/shims/dynamic-preload-chunks.js +6 -4
- package/dist/shims/error-boundary.d.ts +2 -0
- package/dist/shims/error-boundary.js +7 -0
- package/dist/shims/error.js +3 -2
- 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 +3 -1
- package/dist/shims/fetch-cache.js +45 -20
- package/dist/shims/hash-scroll.js +6 -1
- package/dist/shims/headers.js +29 -4
- package/dist/shims/internal/als-registry.js +28 -1
- package/dist/shims/internal/app-route-detection.js +8 -17
- 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/navigation-untracked.d.ts +35 -0
- package/dist/shims/internal/navigation-untracked.js +55 -0
- package/dist/shims/internal/pages-data-target.d.ts +7 -2
- package/dist/shims/internal/pages-data-target.js +17 -8
- 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/router-context.d.ts +2 -1
- package/dist/shims/internal/router-context.js +3 -1
- package/dist/shims/link.js +12 -5
- package/dist/shims/navigation.d.ts +8 -2
- package/dist/shims/navigation.js +61 -31
- package/dist/shims/ppr-fallback-shell.d.ts +5 -1
- package/dist/shims/ppr-fallback-shell.js +28 -7
- package/dist/shims/router.d.ts +13 -2
- package/dist/shims/router.js +419 -128
- package/dist/shims/server.d.ts +16 -1
- package/dist/shims/server.js +44 -12
- package/dist/shims/unified-request-context.js +1 -0
- package/dist/utils/built-asset-url.d.ts +4 -0
- package/dist/utils/built-asset-url.js +11 -0
- package/dist/utils/commonjs-loader.d.ts +16 -0
- package/dist/utils/commonjs-loader.js +100 -0
- package/dist/utils/deployment-id.d.ts +8 -0
- package/dist/utils/deployment-id.js +22 -0
- package/dist/utils/html-limited-bots.d.ts +18 -1
- package/dist/utils/html-limited-bots.js +23 -1
- package/dist/utils/parse-cookie.d.ts +13 -0
- package/dist/utils/parse-cookie.js +52 -0
- package/dist/utils/path.d.ts +7 -1
- package/dist/utils/path.js +9 -1
- package/package.json +2 -2
- package/dist/shims/internal/parse-cookie-header.d.ts +0 -14
- package/dist/shims/internal/parse-cookie-header.js +0 -30
|
@@ -43,12 +43,15 @@ function scheduleCacheReadyIfSettled(state) {
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
function scheduleAbortIfReady(state) {
|
|
46
|
-
if (state.phase !== "final" || !state.hasDynamicBoundary || state.pendingCacheTasks > 0 || state.pendingCacheReadyCleanup !== null || state.isAbortScheduled) return;
|
|
46
|
+
if (state.phase !== "final" || !state.isFinalRenderStarted || !state.hasDynamicBoundary || state.pendingCacheTasks > 0 || state.pendingCacheReadyCleanup !== null || state.isAbortScheduled) return;
|
|
47
47
|
state.isAbortScheduled = true;
|
|
48
48
|
state.pendingAbortCleanup = scheduleAfterTask(() => {
|
|
49
49
|
state.pendingAbortCleanup = null;
|
|
50
50
|
state.isAbortScheduled = false;
|
|
51
|
-
if (state.phase === "final" && state.hasDynamicBoundary && state.pendingCacheTasks === 0 && state.pendingCacheReadyCleanup === null && !state.
|
|
51
|
+
if (state.phase === "final" && state.hasDynamicBoundary && state.pendingCacheTasks === 0 && state.pendingCacheReadyCleanup === null && !state.reactAbortController.signal.aborted) {
|
|
52
|
+
state.reactAbortController.abort();
|
|
53
|
+
state.abortController.abort();
|
|
54
|
+
}
|
|
52
55
|
});
|
|
53
56
|
}
|
|
54
57
|
function completeCacheTask(state, task) {
|
|
@@ -64,12 +67,15 @@ function ignoreCacheTask(state, task) {
|
|
|
64
67
|
completeCacheTask(state, task);
|
|
65
68
|
}
|
|
66
69
|
function createPprFallbackShellState(options) {
|
|
70
|
+
const abortController = new AbortController();
|
|
67
71
|
return {
|
|
68
|
-
abortController
|
|
72
|
+
abortController,
|
|
73
|
+
reactAbortController: abortController,
|
|
69
74
|
cacheEpoch: 0,
|
|
70
75
|
cacheReadyResolvers: [],
|
|
71
76
|
fallbackParamNames: new Set(options.fallbackParamNames),
|
|
72
77
|
hasDynamicBoundary: false,
|
|
78
|
+
isFinalRenderStarted: false,
|
|
73
79
|
isAbortScheduled: false,
|
|
74
80
|
pendingAbortCleanup: null,
|
|
75
81
|
pendingCacheReadyCleanup: null,
|
|
@@ -107,14 +113,22 @@ function trackPprFallbackShellCacheTask(fn, cacheVariant) {
|
|
|
107
113
|
});
|
|
108
114
|
}
|
|
109
115
|
function createPprFallbackShellSuspensePromiseForState(state, expression) {
|
|
110
|
-
state
|
|
111
|
-
for (const task of pprFallbackShellCacheTaskStackAls.getStore() ?? []) ignoreCacheTask(state, task);
|
|
112
|
-
scheduleCacheReadyIfSettled(state);
|
|
116
|
+
markPprFallbackShellDynamicBoundaryForState(state);
|
|
113
117
|
if (state.phase === "final") scheduleAbortIfReady(state);
|
|
114
118
|
const promise = makeHangingPromise(state.abortController.signal, state.routePattern, expression);
|
|
115
119
|
promise.catch(noop);
|
|
116
120
|
return promise;
|
|
117
121
|
}
|
|
122
|
+
function markPprFallbackShellDynamicBoundaryForState(state) {
|
|
123
|
+
state.hasDynamicBoundary = true;
|
|
124
|
+
for (const task of pprFallbackShellCacheTaskStackAls.getStore() ?? []) ignoreCacheTask(state, task);
|
|
125
|
+
scheduleCacheReadyIfSettled(state);
|
|
126
|
+
}
|
|
127
|
+
function markPprFallbackShellDynamicBoundary() {
|
|
128
|
+
const state = getPprFallbackShellState();
|
|
129
|
+
if (state === null || state.fallbackParamNames.size === 0) return;
|
|
130
|
+
markPprFallbackShellDynamicBoundaryForState(state);
|
|
131
|
+
}
|
|
118
132
|
function createPprFallbackShellSuspensePromise(expression) {
|
|
119
133
|
const state = getPprFallbackShellState();
|
|
120
134
|
if (state === null) return null;
|
|
@@ -134,16 +148,23 @@ function preparePprFallbackShellFinalRender(state) {
|
|
|
134
148
|
state.pendingAbortCleanup = null;
|
|
135
149
|
}
|
|
136
150
|
state.abortController = new AbortController();
|
|
151
|
+
state.reactAbortController = new AbortController();
|
|
137
152
|
state.cacheEpoch++;
|
|
138
153
|
state.cacheReadyResolvers.length = 0;
|
|
139
154
|
state.hasDynamicBoundary = false;
|
|
155
|
+
state.isFinalRenderStarted = false;
|
|
140
156
|
state.isAbortScheduled = false;
|
|
141
157
|
state.pendingCacheTasks = 0;
|
|
142
158
|
state.phase = "final";
|
|
143
159
|
}
|
|
160
|
+
function beginPprFallbackShellFinalRender(state) {
|
|
161
|
+
if (state.phase !== "final") return;
|
|
162
|
+
state.isFinalRenderStarted = true;
|
|
163
|
+
scheduleAbortIfReady(state);
|
|
164
|
+
}
|
|
144
165
|
function isPprFallbackShellAbortError(error) {
|
|
145
166
|
if (typeof DOMException !== "undefined" && error instanceof DOMException && error.name === "AbortError") return true;
|
|
146
167
|
return error instanceof Error && error.name === "HangingPromiseRejectionError";
|
|
147
168
|
}
|
|
148
169
|
//#endregion
|
|
149
|
-
export { createPprFallbackShellState, createPprFallbackShellSuspensePromise, createPprFallbackShellSuspensePromiseForState, getPprFallbackShellState, isPprFallbackShellAbortError, preparePprFallbackShellFinalRender, runWithPprFallbackShellState, trackPprFallbackShellCacheTask, waitForPprFallbackShellCacheReady };
|
|
170
|
+
export { beginPprFallbackShellFinalRender, createPprFallbackShellState, createPprFallbackShellSuspensePromise, createPprFallbackShellSuspensePromiseForState, getPprFallbackShellState, isPprFallbackShellAbortError, markPprFallbackShellDynamicBoundary, preparePprFallbackShellFinalRender, runWithPprFallbackShellState, trackPprFallbackShellCacheTask, waitForPprFallbackShellCacheReady };
|
package/dist/shims/router.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ type UrlObject = {
|
|
|
36
36
|
query?: UrlQuery;
|
|
37
37
|
};
|
|
38
38
|
type TransitionOptions = {
|
|
39
|
+
_h?: 1;
|
|
39
40
|
shallow?: boolean;
|
|
40
41
|
scroll?: boolean;
|
|
41
42
|
locale?: string | false;
|
|
@@ -108,6 +109,7 @@ type PagesNavigationContextShape = {
|
|
|
108
109
|
*/
|
|
109
110
|
declare function getPagesNavigationContext(): PagesNavigationContextShape | null;
|
|
110
111
|
declare function getPagesNavigationIsReadyFromSerializedState(routePattern: string | undefined, searchString: string, nextData?: VinextNextData): boolean;
|
|
112
|
+
declare function markPagesRouterReady(): boolean;
|
|
111
113
|
/**
|
|
112
114
|
* useRouter hook - Pages Router compatible.
|
|
113
115
|
*
|
|
@@ -122,8 +124,17 @@ declare function useRouter(): NextRouter;
|
|
|
122
124
|
* The provider owns the reactive Pages Router snapshot so next/router and
|
|
123
125
|
* next/compat/router consumers share one context value instead of each hook
|
|
124
126
|
* installing its own global URL-change listener.
|
|
127
|
+
*
|
|
128
|
+
* The PagesRouterCommitBoundary exists for client navigations: its layout
|
|
129
|
+
* callback runs scroll restoration at commit time and resolves the navigation
|
|
130
|
+
* at the same root-commit boundary Next.js awaits before routeChangeComplete.
|
|
131
|
+
* Its onError rejection drives the hard-navigation fallback in runNavigateClient.
|
|
132
|
+
* The same boundary intentionally also wraps SSR and initial hydration, where
|
|
133
|
+
* callbacks default to noopCommit: a hydration-time render error is caught
|
|
134
|
+
* here (React still console.error's it) instead of propagating, matching the
|
|
135
|
+
* navigation-path containment.
|
|
125
136
|
*/
|
|
126
|
-
declare function wrapWithRouterContext(element: ReactElement): ReactElement;
|
|
137
|
+
declare function wrapWithRouterContext(element: ReactElement, onCommit?: () => void, onError?: (error: Error) => void): ReactElement;
|
|
127
138
|
/**
|
|
128
139
|
* Props injected by `withRouter` into the wrapped component.
|
|
129
140
|
*
|
|
@@ -176,4 +187,4 @@ declare const RouterMethods: {
|
|
|
176
187
|
};
|
|
177
188
|
declare const Router: typeof RouterMethods & Omit<NextRouter, keyof typeof RouterMethods>;
|
|
178
189
|
//#endregion
|
|
179
|
-
export { ExcludeRouterProps, NextRouter, WithRouterProps, _registerRouterStateAccessors, applyNavigationLocale, Router as default, getPagesNavigationContext, getPagesNavigationIsReadyFromSerializedState, isExternalUrl, isHashOnlyChange, setSSRContext, useRouter, withRouter, wrapWithRouterContext };
|
|
190
|
+
export { ExcludeRouterProps, NextRouter, WithRouterProps, markPagesRouterReady as _markPagesRouterReady, _registerRouterStateAccessors, applyNavigationLocale, Router as default, getPagesNavigationContext, getPagesNavigationIsReadyFromSerializedState, isExternalUrl, isHashOnlyChange, setSSRContext, useRouter, withRouter, wrapWithRouterContext };
|