@sveltejs/kit 2.20.1 → 2.20.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/package.json +2 -2
- package/src/exports/public.d.ts +2 -2
- package/src/runtime/client/client.js +28 -20
- package/src/runtime/server/endpoint.js +20 -7
- package/src/runtime/server/respond.js +10 -1
- package/src/types/internal.d.ts +2 -0
- package/src/version.js +1 -1
- package/types/index.d.ts +2 -2
- package/types/index.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sveltejs/kit",
|
|
3
|
-
"version": "2.20.
|
|
3
|
+
"version": "2.20.3",
|
|
4
4
|
"description": "SvelteKit is the fastest way to build Svelte apps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"framework",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@types/set-cookie-parser": "^2.4.7",
|
|
39
39
|
"dts-buddy": "^0.5.5",
|
|
40
40
|
"rollup": "^4.14.2",
|
|
41
|
-
"svelte": "^5.
|
|
41
|
+
"svelte": "^5.23.1",
|
|
42
42
|
"svelte-preprocess": "^6.0.0",
|
|
43
43
|
"typescript": "^5.3.3",
|
|
44
44
|
"vite": "^6.0.11",
|
package/src/exports/public.d.ts
CHANGED
|
@@ -1025,7 +1025,7 @@ export interface NavigationTarget {
|
|
|
1025
1025
|
}
|
|
1026
1026
|
|
|
1027
1027
|
/**
|
|
1028
|
-
* - `enter`: The app has hydrated
|
|
1028
|
+
* - `enter`: The app has hydrated/started
|
|
1029
1029
|
* - `form`: The user submitted a `<form>` with a GET method
|
|
1030
1030
|
* - `leave`: The user is leaving the app by closing the tab or using the back/forward buttons to go to a different document
|
|
1031
1031
|
* - `link`: Navigation was triggered by a link click
|
|
@@ -1101,7 +1101,7 @@ export interface OnNavigate extends Navigation {
|
|
|
1101
1101
|
export interface AfterNavigate extends Omit<Navigation, 'type'> {
|
|
1102
1102
|
/**
|
|
1103
1103
|
* The type of navigation:
|
|
1104
|
-
* - `enter`: The app has hydrated
|
|
1104
|
+
* - `enter`: The app has hydrated/started
|
|
1105
1105
|
* - `form`: The user submitted a `<form>`
|
|
1106
1106
|
* - `link`: Navigation was triggered by a link click
|
|
1107
1107
|
* - `goto`: Navigation was triggered by a `goto(...)` call or a redirect
|
|
@@ -320,8 +320,10 @@ export async function start(_app, _target, hydrate) {
|
|
|
320
320
|
if (hydrate) {
|
|
321
321
|
await _hydrate(target, hydrate);
|
|
322
322
|
} else {
|
|
323
|
-
await
|
|
324
|
-
|
|
323
|
+
await navigate({
|
|
324
|
+
type: 'enter',
|
|
325
|
+
url: resolve_url(app.hash ? decode_hash(new URL(location.href)) : location.href),
|
|
326
|
+
replace_state: true
|
|
325
327
|
});
|
|
326
328
|
}
|
|
327
329
|
|
|
@@ -479,20 +481,22 @@ function initialize(result, target, hydrate) {
|
|
|
479
481
|
|
|
480
482
|
restore_snapshot(current_navigation_index);
|
|
481
483
|
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
484
|
+
if (hydrate) {
|
|
485
|
+
/** @type {import('@sveltejs/kit').AfterNavigate} */
|
|
486
|
+
const navigation = {
|
|
487
|
+
from: null,
|
|
488
|
+
to: {
|
|
489
|
+
params: current.params,
|
|
490
|
+
route: { id: current.route?.id ?? null },
|
|
491
|
+
url: new URL(location.href)
|
|
492
|
+
},
|
|
493
|
+
willUnload: false,
|
|
494
|
+
type: 'enter',
|
|
495
|
+
complete: Promise.resolve()
|
|
496
|
+
};
|
|
494
497
|
|
|
495
|
-
|
|
498
|
+
after_navigate_callbacks.forEach((fn) => fn(navigation));
|
|
499
|
+
}
|
|
496
500
|
|
|
497
501
|
started = true;
|
|
498
502
|
}
|
|
@@ -1373,7 +1377,7 @@ function _before_navigate({ url, type, intent, delta }) {
|
|
|
1373
1377
|
|
|
1374
1378
|
/**
|
|
1375
1379
|
* @param {{
|
|
1376
|
-
* type: import('@sveltejs/kit').
|
|
1380
|
+
* type: import('@sveltejs/kit').NavigationType;
|
|
1377
1381
|
* url: URL;
|
|
1378
1382
|
* popped?: {
|
|
1379
1383
|
* state: Record<string, any>;
|
|
@@ -1407,7 +1411,10 @@ async function navigate({
|
|
|
1407
1411
|
token = nav_token;
|
|
1408
1412
|
|
|
1409
1413
|
const intent = await get_navigation_intent(url, false);
|
|
1410
|
-
const nav =
|
|
1414
|
+
const nav =
|
|
1415
|
+
type === 'enter'
|
|
1416
|
+
? create_navigation(current, intent, url, type)
|
|
1417
|
+
: _before_navigate({ url, type, delta: popped?.delta, intent });
|
|
1411
1418
|
|
|
1412
1419
|
if (!nav) {
|
|
1413
1420
|
block();
|
|
@@ -1423,7 +1430,7 @@ async function navigate({
|
|
|
1423
1430
|
|
|
1424
1431
|
is_navigating = true;
|
|
1425
1432
|
|
|
1426
|
-
if (started) {
|
|
1433
|
+
if (started && nav.navigation.type !== 'enter') {
|
|
1427
1434
|
stores.navigating.set((navigating.current = nav.navigation));
|
|
1428
1435
|
}
|
|
1429
1436
|
|
|
@@ -2847,10 +2854,11 @@ function reset_focus() {
|
|
|
2847
2854
|
}
|
|
2848
2855
|
|
|
2849
2856
|
/**
|
|
2857
|
+
* @template {import('@sveltejs/kit').NavigationType} T
|
|
2850
2858
|
* @param {import('./types.js').NavigationState} current
|
|
2851
2859
|
* @param {import('./types.js').NavigationIntent | undefined} intent
|
|
2852
2860
|
* @param {URL | null} url
|
|
2853
|
-
* @param {
|
|
2861
|
+
* @param {T} type
|
|
2854
2862
|
*/
|
|
2855
2863
|
function create_navigation(current, intent, url, type) {
|
|
2856
2864
|
/** @type {(value: any) => void} */
|
|
@@ -2867,7 +2875,7 @@ function create_navigation(current, intent, url, type) {
|
|
|
2867
2875
|
// Handle any errors off-chain so that it doesn't show up as an unhandled rejection
|
|
2868
2876
|
complete.catch(() => {});
|
|
2869
2877
|
|
|
2870
|
-
/** @type {import('@sveltejs/kit').Navigation} */
|
|
2878
|
+
/** @type {Omit<import('@sveltejs/kit').Navigation, 'type'> & { type: T }} */
|
|
2871
2879
|
const navigation = {
|
|
2872
2880
|
from: {
|
|
2873
2881
|
params: current.params,
|
|
@@ -29,7 +29,7 @@ export async function render_endpoint(event, mod, state) {
|
|
|
29
29
|
throw new Error('Cannot prerender endpoints that have mutative methods');
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
if (state.prerendering && !prerender) {
|
|
32
|
+
if (state.prerendering && !state.prerendering.inside_reroute && !prerender) {
|
|
33
33
|
if (state.depth > 0) {
|
|
34
34
|
// if request came from a prerendered page, bail
|
|
35
35
|
throw new Error(`${event.route.id} is not prerenderable`);
|
|
@@ -41,7 +41,7 @@ export async function render_endpoint(event, mod, state) {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
try {
|
|
44
|
-
|
|
44
|
+
const response = await with_event(event, () =>
|
|
45
45
|
handler(/** @type {import('@sveltejs/kit').RequestEvent<Record<string, any>>} */ (event))
|
|
46
46
|
);
|
|
47
47
|
|
|
@@ -51,15 +51,28 @@ export async function render_endpoint(event, mod, state) {
|
|
|
51
51
|
);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
if (state.prerendering) {
|
|
55
|
-
//
|
|
56
|
-
// so we should clone them before trying to mutate them
|
|
57
|
-
|
|
54
|
+
if (state.prerendering && (!state.prerendering.inside_reroute || prerender)) {
|
|
55
|
+
// The returned Response might have immutable Headers
|
|
56
|
+
// so we should clone them before trying to mutate them.
|
|
57
|
+
// We also need to clone the response body since it may be read twice during prerendering
|
|
58
|
+
const cloned = new Response(response.clone().body, {
|
|
58
59
|
status: response.status,
|
|
59
60
|
statusText: response.statusText,
|
|
60
61
|
headers: new Headers(response.headers)
|
|
61
62
|
});
|
|
62
|
-
|
|
63
|
+
cloned.headers.set('x-sveltekit-prerender', String(prerender));
|
|
64
|
+
|
|
65
|
+
if (state.prerendering.inside_reroute && prerender) {
|
|
66
|
+
// Without this, the route wouldn't be recorded as prerendered,
|
|
67
|
+
// because there's nothing after reroute that would do that.
|
|
68
|
+
cloned.headers.set(
|
|
69
|
+
'x-sveltekit-routeid',
|
|
70
|
+
encodeURI(/** @type {string} */ (event.route.id))
|
|
71
|
+
);
|
|
72
|
+
state.prerendering.dependencies.set(event.url.pathname, { response: cloned, body: null });
|
|
73
|
+
} else {
|
|
74
|
+
return cloned;
|
|
75
|
+
}
|
|
63
76
|
}
|
|
64
77
|
|
|
65
78
|
return response;
|
|
@@ -183,7 +183,12 @@ export async function respond(request, options, manifest, state) {
|
|
|
183
183
|
|
|
184
184
|
let resolved_path;
|
|
185
185
|
|
|
186
|
+
const prerendering_reroute_state = state.prerendering?.inside_reroute;
|
|
186
187
|
try {
|
|
188
|
+
// For the duration or a reroute, disable the prerendering state as reroute could call API endpoints
|
|
189
|
+
// which would end up in the wrong logic path if not disabled.
|
|
190
|
+
if (state.prerendering) state.prerendering.inside_reroute = true;
|
|
191
|
+
|
|
187
192
|
// reroute could alter the given URL, so we pass a copy
|
|
188
193
|
resolved_path =
|
|
189
194
|
(await options.hooks.reroute({ url: new URL(url), fetch: event.fetch })) ?? url.pathname;
|
|
@@ -191,6 +196,8 @@ export async function respond(request, options, manifest, state) {
|
|
|
191
196
|
return text('Internal Server Error', {
|
|
192
197
|
status: 500
|
|
193
198
|
});
|
|
199
|
+
} finally {
|
|
200
|
+
if (state.prerendering) state.prerendering.inside_reroute = prerendering_reroute_state;
|
|
194
201
|
}
|
|
195
202
|
|
|
196
203
|
try {
|
|
@@ -349,7 +356,9 @@ export async function respond(request, options, manifest, state) {
|
|
|
349
356
|
|
|
350
357
|
set_trailing_slash(trailing_slash);
|
|
351
358
|
|
|
352
|
-
if (state.prerendering && !state.prerendering.fallback)
|
|
359
|
+
if (state.prerendering && !state.prerendering.fallback && !state.prerendering.inside_reroute) {
|
|
360
|
+
disable_search(url);
|
|
361
|
+
}
|
|
353
362
|
|
|
354
363
|
const response = await with_event(event, () =>
|
|
355
364
|
options.hooks.handle({
|
package/src/types/internal.d.ts
CHANGED
|
@@ -216,6 +216,8 @@ export interface PrerenderOptions {
|
|
|
216
216
|
cache?: string; // including this here is a bit of a hack, but it makes it easy to add <meta http-equiv>
|
|
217
217
|
fallback?: boolean;
|
|
218
218
|
dependencies: Map<string, PrerenderDependency>;
|
|
219
|
+
/** True for the duration of a call to the `reroute` hook */
|
|
220
|
+
inside_reroute?: boolean;
|
|
219
221
|
}
|
|
220
222
|
|
|
221
223
|
export type RecursiveRequired<T> = {
|
package/src/version.js
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -1007,7 +1007,7 @@ declare module '@sveltejs/kit' {
|
|
|
1007
1007
|
}
|
|
1008
1008
|
|
|
1009
1009
|
/**
|
|
1010
|
-
* - `enter`: The app has hydrated
|
|
1010
|
+
* - `enter`: The app has hydrated/started
|
|
1011
1011
|
* - `form`: The user submitted a `<form>` with a GET method
|
|
1012
1012
|
* - `leave`: The user is leaving the app by closing the tab or using the back/forward buttons to go to a different document
|
|
1013
1013
|
* - `link`: Navigation was triggered by a link click
|
|
@@ -1083,7 +1083,7 @@ declare module '@sveltejs/kit' {
|
|
|
1083
1083
|
export interface AfterNavigate extends Omit<Navigation, 'type'> {
|
|
1084
1084
|
/**
|
|
1085
1085
|
* The type of navigation:
|
|
1086
|
-
* - `enter`: The app has hydrated
|
|
1086
|
+
* - `enter`: The app has hydrated/started
|
|
1087
1087
|
* - `form`: The user submitted a `<form>`
|
|
1088
1088
|
* - `link`: Navigation was triggered by a link click
|
|
1089
1089
|
* - `goto`: Navigation was triggered by a `goto(...)` call or a redirect
|
package/types/index.d.ts.map
CHANGED
|
@@ -166,6 +166,6 @@
|
|
|
166
166
|
null,
|
|
167
167
|
null
|
|
168
168
|
],
|
|
169
|
-
"mappings": "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
|
|
169
|
+
"mappings": "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",
|
|
170
170
|
"ignoreList": []
|
|
171
171
|
}
|