@sveltejs/kit 2.5.2 → 2.5.4
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 +1 -1
- package/src/core/sync/write_tsconfig.js +10 -2
- package/src/runtime/client/client.js +67 -16
- package/src/types/private.d.ts +1 -2
- package/src/version.js +1 -1
- package/types/index.d.ts +1 -2
- package/types/index.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -55,10 +55,9 @@ export function get_tsconfig(kit) {
|
|
|
55
55
|
const config_relative = (file) => posixify(path.relative(kit.outDir, file));
|
|
56
56
|
|
|
57
57
|
const include = new Set([
|
|
58
|
-
'ambient.d.ts',
|
|
58
|
+
'ambient.d.ts', // careful: changing this name would be a breaking change, because it's referenced in the service-workers documentation
|
|
59
59
|
'non-ambient.d.ts',
|
|
60
60
|
'./types/**/$types.d.ts',
|
|
61
|
-
config_relative('svelte.config.js'),
|
|
62
61
|
config_relative('vite.config.js'),
|
|
63
62
|
config_relative('vite.config.ts')
|
|
64
63
|
]);
|
|
@@ -82,6 +81,15 @@ export function get_tsconfig(kit) {
|
|
|
82
81
|
include.add(config_relative(`${test_folder}/**/*.svelte`));
|
|
83
82
|
|
|
84
83
|
const exclude = [config_relative('node_modules/**')];
|
|
84
|
+
// Add service worker to exclude list so that worker types references in it don't spill over into the rest of the app
|
|
85
|
+
// (i.e. suddenly ServiceWorkerGlobalScope would be available throughout the app, and some types might even clash)
|
|
86
|
+
if (path.extname(kit.files.serviceWorker)) {
|
|
87
|
+
exclude.push(config_relative(kit.files.serviceWorker));
|
|
88
|
+
} else {
|
|
89
|
+
exclude.push(config_relative(`${kit.files.serviceWorker}.js`));
|
|
90
|
+
exclude.push(config_relative(`${kit.files.serviceWorker}.ts`));
|
|
91
|
+
exclude.push(config_relative(`${kit.files.serviceWorker}.d.ts`));
|
|
92
|
+
}
|
|
85
93
|
|
|
86
94
|
const config = {
|
|
87
95
|
compilerOptions: {
|
|
@@ -172,7 +172,7 @@ const invalidated = [];
|
|
|
172
172
|
*/
|
|
173
173
|
const components = [];
|
|
174
174
|
|
|
175
|
-
/** @type {{id: string, promise: Promise<import('./types.js').NavigationResult>} | null} */
|
|
175
|
+
/** @type {{id: string, token: {}, promise: Promise<import('./types.js').NavigationResult>} | null} */
|
|
176
176
|
let load_cache = null;
|
|
177
177
|
|
|
178
178
|
/** @type {Array<(navigation: import('@sveltejs/kit').BeforeNavigate) => void>} */
|
|
@@ -219,6 +219,14 @@ let page;
|
|
|
219
219
|
/** @type {{}} */
|
|
220
220
|
let token;
|
|
221
221
|
|
|
222
|
+
/**
|
|
223
|
+
* A set of tokens which are associated to current preloads.
|
|
224
|
+
* If a preload becomes a real navigation, it's removed from the set.
|
|
225
|
+
* If a preload token is in the set and the preload errors, the error
|
|
226
|
+
* handling logic (for example reloading) is skipped.
|
|
227
|
+
*/
|
|
228
|
+
const preload_tokens = new Set();
|
|
229
|
+
|
|
222
230
|
/** @type {Promise<void> | null} */
|
|
223
231
|
let pending_invalidate;
|
|
224
232
|
|
|
@@ -375,16 +383,26 @@ async function _goto(url, options, redirect_count, nav_token) {
|
|
|
375
383
|
|
|
376
384
|
/** @param {import('./types.js').NavigationIntent} intent */
|
|
377
385
|
async function _preload_data(intent) {
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
386
|
+
// Reuse the existing pending preload if it's for the same navigation.
|
|
387
|
+
// Prevents an edge case where same preload is triggered multiple times,
|
|
388
|
+
// then a later one is becoming the real navigation and the preload tokens
|
|
389
|
+
// get out of sync.
|
|
390
|
+
if (intent.id !== load_cache?.id) {
|
|
391
|
+
const preload = {};
|
|
392
|
+
preload_tokens.add(preload);
|
|
393
|
+
load_cache = {
|
|
394
|
+
id: intent.id,
|
|
395
|
+
token: preload,
|
|
396
|
+
promise: load_route({ ...intent, preload }).then((result) => {
|
|
397
|
+
preload_tokens.delete(preload);
|
|
398
|
+
if (result.type === 'loaded' && result.state.error) {
|
|
399
|
+
// Don't cache errors, because they might be transient
|
|
400
|
+
load_cache = null;
|
|
401
|
+
}
|
|
402
|
+
return result;
|
|
403
|
+
})
|
|
404
|
+
};
|
|
405
|
+
}
|
|
388
406
|
|
|
389
407
|
return load_cache.promise;
|
|
390
408
|
}
|
|
@@ -803,11 +821,31 @@ function diff_search_params(old_url, new_url) {
|
|
|
803
821
|
}
|
|
804
822
|
|
|
805
823
|
/**
|
|
806
|
-
* @param {import('./types.js').
|
|
824
|
+
* @param {Omit<import('./types.js').NavigationFinished['state'], 'branch'> & { error: App.Error }} opts
|
|
825
|
+
* @returns {import('./types.js').NavigationFinished}
|
|
826
|
+
*/
|
|
827
|
+
function preload_error({ error, url, route, params }) {
|
|
828
|
+
return {
|
|
829
|
+
type: 'loaded',
|
|
830
|
+
state: {
|
|
831
|
+
error,
|
|
832
|
+
url,
|
|
833
|
+
route,
|
|
834
|
+
params,
|
|
835
|
+
branch: []
|
|
836
|
+
},
|
|
837
|
+
props: { page, constructors: [] }
|
|
838
|
+
};
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
/**
|
|
842
|
+
* @param {import('./types.js').NavigationIntent & { preload?: {} }} intent
|
|
807
843
|
* @returns {Promise<import('./types.js').NavigationResult>}
|
|
808
844
|
*/
|
|
809
|
-
async function load_route({ id, invalidating, url, params, route }) {
|
|
845
|
+
async function load_route({ id, invalidating, url, params, route, preload }) {
|
|
810
846
|
if (load_cache?.id === id) {
|
|
847
|
+
// the preload becomes the real navigation
|
|
848
|
+
preload_tokens.delete(load_cache.token);
|
|
811
849
|
return load_cache.promise;
|
|
812
850
|
}
|
|
813
851
|
|
|
@@ -855,9 +893,15 @@ async function load_route({ id, invalidating, url, params, route }) {
|
|
|
855
893
|
try {
|
|
856
894
|
server_data = await load_data(url, invalid_server_nodes);
|
|
857
895
|
} catch (error) {
|
|
896
|
+
const handled_error = await handle_error(error, { url, params, route: { id } });
|
|
897
|
+
|
|
898
|
+
if (preload_tokens.has(preload)) {
|
|
899
|
+
return preload_error({ error: handled_error, url, params, route });
|
|
900
|
+
}
|
|
901
|
+
|
|
858
902
|
return load_root_error_page({
|
|
859
903
|
status: get_status(error),
|
|
860
|
-
error:
|
|
904
|
+
error: handled_error,
|
|
861
905
|
url,
|
|
862
906
|
route
|
|
863
907
|
});
|
|
@@ -940,6 +984,15 @@ async function load_route({ id, invalidating, url, params, route }) {
|
|
|
940
984
|
};
|
|
941
985
|
}
|
|
942
986
|
|
|
987
|
+
if (preload_tokens.has(preload)) {
|
|
988
|
+
return preload_error({
|
|
989
|
+
error: await handle_error(err, { params, url, route: { id: route.id } }),
|
|
990
|
+
url,
|
|
991
|
+
params,
|
|
992
|
+
route
|
|
993
|
+
});
|
|
994
|
+
}
|
|
995
|
+
|
|
943
996
|
let status = get_status(err);
|
|
944
997
|
/** @type {App.Error} */
|
|
945
998
|
let error;
|
|
@@ -972,8 +1025,6 @@ async function load_route({ id, invalidating, url, params, route }) {
|
|
|
972
1025
|
route
|
|
973
1026
|
});
|
|
974
1027
|
} else {
|
|
975
|
-
// if we get here, it's because the root `load` function failed,
|
|
976
|
-
// and we need to fall back to the server
|
|
977
1028
|
return await server_fallback(url, { id: route.id }, error, status);
|
|
978
1029
|
}
|
|
979
1030
|
}
|
package/src/types/private.d.ts
CHANGED
|
@@ -73,7 +73,6 @@ export namespace Csp {
|
|
|
73
73
|
type SchemeSource = 'http:' | 'https:' | 'data:' | 'mediastream:' | 'blob:' | 'filesystem:';
|
|
74
74
|
type Source = HostSource | SchemeSource | CryptoSource | BaseSource;
|
|
75
75
|
type Sources = Source[];
|
|
76
|
-
type UriPath = `${HttpDelineator}${string}`;
|
|
77
76
|
}
|
|
78
77
|
|
|
79
78
|
export interface CspDirectives {
|
|
@@ -113,7 +112,7 @@ export interface CspDirectives {
|
|
|
113
112
|
'form-action'?: Array<Csp.Source | Csp.ActionSource>;
|
|
114
113
|
'frame-ancestors'?: Array<Csp.HostSource | Csp.SchemeSource | Csp.FrameSource>;
|
|
115
114
|
'navigate-to'?: Array<Csp.Source | Csp.ActionSource>;
|
|
116
|
-
'report-uri'?:
|
|
115
|
+
'report-uri'?: string[];
|
|
117
116
|
'report-to'?: string[];
|
|
118
117
|
|
|
119
118
|
'require-trusted-types-for'?: Array<'script'>;
|
package/src/version.js
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -1419,7 +1419,6 @@ declare module '@sveltejs/kit' {
|
|
|
1419
1419
|
type SchemeSource = 'http:' | 'https:' | 'data:' | 'mediastream:' | 'blob:' | 'filesystem:';
|
|
1420
1420
|
type Source = HostSource | SchemeSource | CryptoSource | BaseSource;
|
|
1421
1421
|
type Sources = Source[];
|
|
1422
|
-
type UriPath = `${HttpDelineator}${string}`;
|
|
1423
1422
|
}
|
|
1424
1423
|
|
|
1425
1424
|
interface CspDirectives {
|
|
@@ -1459,7 +1458,7 @@ declare module '@sveltejs/kit' {
|
|
|
1459
1458
|
'form-action'?: Array<Csp.Source | Csp.ActionSource>;
|
|
1460
1459
|
'frame-ancestors'?: Array<Csp.HostSource | Csp.SchemeSource | Csp.FrameSource>;
|
|
1461
1460
|
'navigate-to'?: Array<Csp.Source | Csp.ActionSource>;
|
|
1462
|
-
'report-uri'?:
|
|
1461
|
+
'report-uri'?: string[];
|
|
1463
1462
|
'report-to'?: string[];
|
|
1464
1463
|
|
|
1465
1464
|
'require-trusted-types-for'?: Array<'script'>;
|
package/types/index.d.ts.map
CHANGED
|
@@ -154,5 +154,5 @@
|
|
|
154
154
|
null,
|
|
155
155
|
null
|
|
156
156
|
],
|
|
157
|
-
"mappings": ";;;;;;;;;kBA2BiBA,OAAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;aA2BZC,cAAcA;;;;;;aAMdC,cAAcA;;;;;;;;;;;;;;;kBAeTC,aAAaA;;;;;;;;;;;;;;;;;kBAiBbC,OAAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkGPC,MAAMA;;;;;;;;;;;;;;;;;;;;;kBAqBNC,OAAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4DPC,QAAQA;;;;;;;;kBAQRC,SAASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAqZdC,MAAMA;;;;;;;;;;;aAWNC,iBAAiBA;;;;;;;;;;;;;aAajBC,iBAAiBA;;;;;;;;;;aAUjBC,WAAWA;;;;;;;;;;aAUXC,OAAOA;;;;;;aAMPC,IAAIA;;;;;;;;;;;;kBAYCC,SAASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4GTC,eAAeA;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0BfC,gBAAgBA;;;;;;;;;;;;;;;;;;;;;;;;aAwBrBC,cAAcA;;kBAETC,UAAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoCVC,cAAcA;;;;;;;;;;kBAUdC,UAAUA;;;;;;;;;;;;;;;;;;kBAkBVC,aAAaA;;;;;;;;;;;;;;;;;;;kBAmBbC,IAAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA8CTC,YAAYA;;kBAEPC,YAAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA4FjBC,cAAcA;;;;;kBAKTC,cAAcA;;;;;;;;;;;;;;;;;;;;;;;kBAuBdC,eAAeA;;;;;;;;;;;;;;;cAenBC,MAAMA;;;;;;kBAMFC,iBAAiBA;;;;;;;kBAOjBC,WAAWA;;;;;;;;;;;;;;;;;;;;;aAqBhBC,UAAUA;;;;;;;kBAOLC,eAAeA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAqEpBC,MAAMA;;;;;;;;;;aAUNC,OAAOA;;;;;;;;;;;;;;;;aAgBPC,YAAYA;;;;;;;;;;;;kBC5xCXC,SAASA;;;;;;;;;;kBAqBTC,QAAQA;;;;;;;aDoyCTC,cAAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA6BTC,QAAQA;;;;WEh1CRC,YAAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAkDZC,GAAGA
|
|
157
|
+
"mappings": "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"
|
|
158
158
|
}
|