@sveltejs/kit 2.21.4 → 2.22.0
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 +6 -6
- package/src/exports/vite/build/build_server.js +5 -7
- package/src/exports/vite/build/build_service_worker.js +6 -2
- package/src/exports/vite/index.js +32 -5
- package/src/runtime/client/client.js +66 -23
- package/src/runtime/server/fetch.js +41 -4
- package/src/version.js +1 -1
- 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.
|
|
3
|
+
"version": "2.22.0",
|
|
4
4
|
"description": "SvelteKit is the fastest way to build Svelte apps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"framework",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@playwright/test": "^1.51.1",
|
|
37
|
-
"@sveltejs/vite-plugin-svelte": "^
|
|
37
|
+
"@sveltejs/vite-plugin-svelte": "^6.0.0-next.0",
|
|
38
38
|
"@types/connect": "^3.4.38",
|
|
39
39
|
"@types/node": "^18.19.48",
|
|
40
40
|
"@types/set-cookie-parser": "^2.4.7",
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"svelte": "^5.23.1",
|
|
44
44
|
"svelte-preprocess": "^6.0.0",
|
|
45
45
|
"typescript": "^5.3.3",
|
|
46
|
-
"vite": "^6.
|
|
47
|
-
"vitest": "^3.
|
|
46
|
+
"vite": "^6.3.5",
|
|
47
|
+
"vitest": "^3.2.3"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0",
|
|
50
|
+
"@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0",
|
|
51
51
|
"svelte": "^4.0.0 || ^5.0.0-next.0",
|
|
52
|
-
"vite": "^5.0.3 || ^6.0.0"
|
|
52
|
+
"vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0"
|
|
53
53
|
},
|
|
54
54
|
"bin": {
|
|
55
55
|
"svelte-kit": "svelte-kit.js"
|
|
@@ -14,22 +14,20 @@ import { create_node_analyser } from '../static_analysis/index.js';
|
|
|
14
14
|
* @param {import('vite').Manifest} server_manifest
|
|
15
15
|
* @param {import('vite').Manifest | null} client_manifest
|
|
16
16
|
* @param {import('vite').Rollup.OutputBundle | null} server_bundle
|
|
17
|
-
* @param {import('vite').Rollup.RollupOutput['output'] | null}
|
|
17
|
+
* @param {import('vite').Rollup.RollupOutput['output'] | null} client_chunks
|
|
18
18
|
* @param {import('types').RecursiveRequired<import('types').ValidatedConfig['kit']['output']>} output_config
|
|
19
19
|
* @param {Map<string, { page_options: Record<string, any> | null, children: string[] }>} static_exports
|
|
20
20
|
*/
|
|
21
|
-
export async function build_server_nodes(out, kit, manifest_data, server_manifest, client_manifest, server_bundle,
|
|
21
|
+
export async function build_server_nodes(out, kit, manifest_data, server_manifest, client_manifest, server_bundle, client_chunks, output_config, static_exports) {
|
|
22
22
|
mkdirp(`${out}/server/nodes`);
|
|
23
23
|
mkdirp(`${out}/server/stylesheets`);
|
|
24
24
|
|
|
25
25
|
/** @type {Map<string, string>} */
|
|
26
26
|
const stylesheets_to_inline = new Map();
|
|
27
27
|
|
|
28
|
-
if (server_bundle &&
|
|
29
|
-
const client = get_stylesheets(
|
|
30
|
-
|
|
31
|
-
const server_chunks = Object.values(server_bundle);
|
|
32
|
-
const server = get_stylesheets(server_chunks);
|
|
28
|
+
if (server_bundle && client_chunks && kit.inlineStyleThreshold > 0) {
|
|
29
|
+
const client = get_stylesheets(client_chunks);
|
|
30
|
+
const server = get_stylesheets(Object.values(server_bundle));
|
|
33
31
|
|
|
34
32
|
// map server stylesheet name to the client stylesheet name
|
|
35
33
|
for (const [id, client_stylesheet] of client.stylesheets_used) {
|
|
@@ -103,7 +103,8 @@ export async function build_service_worker(
|
|
|
103
103
|
},
|
|
104
104
|
output: {
|
|
105
105
|
// .mjs so that esbuild doesn't incorrectly inject `export` https://github.com/vitejs/vite/issues/15379
|
|
106
|
-
|
|
106
|
+
// @ts-expect-error `vite.rolldownVersion` only exists in `rolldown-vite`
|
|
107
|
+
entryFileNames: `service-worker.${vite.rolldownVersion ? 'js' : 'mjs'}`,
|
|
107
108
|
assetFileNames: `${kit.appDir}/immutable/assets/[name].[hash][extname]`,
|
|
108
109
|
inlineDynamicImports: true
|
|
109
110
|
}
|
|
@@ -129,5 +130,8 @@ export async function build_service_worker(
|
|
|
129
130
|
});
|
|
130
131
|
|
|
131
132
|
// rename .mjs to .js to avoid incorrect MIME types with ancient webservers
|
|
132
|
-
|
|
133
|
+
// @ts-expect-error `vite.rolldownVersion` only exists in `rolldown-vite`
|
|
134
|
+
if (!vite.rolldownVersion) {
|
|
135
|
+
fs.renameSync(`${out}/client/service-worker.mjs`, `${out}/client/service-worker.js`);
|
|
136
|
+
}
|
|
133
137
|
}
|
|
@@ -182,6 +182,7 @@ let manifest_data;
|
|
|
182
182
|
* @return {Promise<import('vite').Plugin[]>}
|
|
183
183
|
*/
|
|
184
184
|
async function kit({ svelte_config }) {
|
|
185
|
+
/** @type {import('vite')} */
|
|
185
186
|
const vite = await import_peer('vite');
|
|
186
187
|
|
|
187
188
|
const { kit } = svelte_config;
|
|
@@ -694,13 +695,15 @@ Tips:
|
|
|
694
695
|
assetFileNames: `${prefix}/assets/[name].[hash][extname]`,
|
|
695
696
|
hoistTransitiveImports: false,
|
|
696
697
|
sourcemapIgnoreList,
|
|
697
|
-
manualChunks: split ? undefined : () => 'bundle',
|
|
698
698
|
inlineDynamicImports: false
|
|
699
699
|
},
|
|
700
700
|
preserveEntrySignatures: 'strict',
|
|
701
701
|
onwarn(warning, handler) {
|
|
702
702
|
if (
|
|
703
|
-
|
|
703
|
+
// @ts-expect-error `vite.rolldownVersion` only exists in `rolldown-vite`
|
|
704
|
+
(vite.rolldownVersion
|
|
705
|
+
? warning.code === 'IMPORT_IS_UNDEFINED'
|
|
706
|
+
: warning.code === 'MISSING_EXPORT') &&
|
|
704
707
|
warning.id === `${kit.outDir}/generated/client-optimized/app.js`
|
|
705
708
|
) {
|
|
706
709
|
// ignore e.g. undefined `handleError` hook when
|
|
@@ -725,7 +728,25 @@ Tips:
|
|
|
725
728
|
}
|
|
726
729
|
}
|
|
727
730
|
}
|
|
731
|
+
// TODO: enabling `experimental.enableNativePlugin` causes styles to not be applied
|
|
732
|
+
// see https://github.com/vitejs/rolldown-vite/issues/213
|
|
733
|
+
// experimental: {
|
|
734
|
+
// enableNativePlugin: true
|
|
735
|
+
// }
|
|
728
736
|
};
|
|
737
|
+
|
|
738
|
+
if (!split && new_config.build?.rollupOptions?.output) {
|
|
739
|
+
const output_options = /** @type {import('vite').Rollup.OutputOptions} */ (
|
|
740
|
+
new_config.build.rollupOptions.output
|
|
741
|
+
);
|
|
742
|
+
// @ts-expect-error `vite.rolldownVersion` only exists in `rolldown-vite`
|
|
743
|
+
if (vite.rolldownVersion) {
|
|
744
|
+
output_options.inlineDynamicImports = true;
|
|
745
|
+
} else {
|
|
746
|
+
/** @type {import('rollup').OutputOptions} */ (output_options).manualChunks = () =>
|
|
747
|
+
'bundle';
|
|
748
|
+
}
|
|
749
|
+
}
|
|
729
750
|
} else {
|
|
730
751
|
new_config = {
|
|
731
752
|
appType: 'custom',
|
|
@@ -738,6 +759,11 @@ Tips:
|
|
|
738
759
|
}
|
|
739
760
|
},
|
|
740
761
|
publicDir: kit.files.assets
|
|
762
|
+
// TODO: enabling `experimental.enableNativePlugin` causes styles to not be applied
|
|
763
|
+
// see https://github.com/vitejs/rolldown-vite/issues/213
|
|
764
|
+
// experimental: {
|
|
765
|
+
// enableNativePlugin: true
|
|
766
|
+
// }
|
|
741
767
|
};
|
|
742
768
|
}
|
|
743
769
|
|
|
@@ -779,7 +805,8 @@ Tips:
|
|
|
779
805
|
renderChunk(code, chunk) {
|
|
780
806
|
if (code.includes('__SVELTEKIT_TRACK__')) {
|
|
781
807
|
return {
|
|
782
|
-
|
|
808
|
+
// Rolldown changes our single quotes to double quotes so we need it in the regex too
|
|
809
|
+
code: code.replace(/__SVELTEKIT_TRACK__\(['"](.+?)['"]\)/g, (_, label) => {
|
|
783
810
|
(tracked_features[chunk.name + '.js'] ??= []).push(label);
|
|
784
811
|
// put extra whitespace at the end of the comment to preserve the source size and avoid interfering with source maps
|
|
785
812
|
return `/* track ${label} */`;
|
|
@@ -960,7 +987,7 @@ Tips:
|
|
|
960
987
|
};
|
|
961
988
|
|
|
962
989
|
if (svelte_config.kit.output.bundleStrategy === 'inline') {
|
|
963
|
-
const style = /** @type {import('
|
|
990
|
+
const style = /** @type {import('vite').Rollup.OutputAsset} */ (
|
|
964
991
|
client_chunks.find(
|
|
965
992
|
(chunk) =>
|
|
966
993
|
chunk.type === 'asset' &&
|
|
@@ -1035,7 +1062,7 @@ Tips:
|
|
|
1035
1062
|
...vite_config,
|
|
1036
1063
|
build: {
|
|
1037
1064
|
...vite_config.build,
|
|
1038
|
-
minify: initial_config.build?.minify ??
|
|
1065
|
+
minify: initial_config.build?.minify ?? true
|
|
1039
1066
|
}
|
|
1040
1067
|
},
|
|
1041
1068
|
manifest_data,
|
|
@@ -712,9 +712,12 @@ async function load_node({ loader, parent, url, params, route, server_data_node
|
|
|
712
712
|
: await resource.blob(),
|
|
713
713
|
cache: resource.cache,
|
|
714
714
|
credentials: resource.credentials,
|
|
715
|
-
// the headers
|
|
716
|
-
//
|
|
717
|
-
|
|
715
|
+
// the server sets headers to `undefined` if there are no headers but
|
|
716
|
+
// the client defaults to an empty Headers object in the Request object.
|
|
717
|
+
// To keep the two values in sync, we explicitly set the headers to `undefined`.
|
|
718
|
+
// Also, not sure why, but sometimes 0 is evaluated as truthy so we need to
|
|
719
|
+
// explicitly compare the headers length to a number here
|
|
720
|
+
headers: [...resource.headers].length > 0 ? resource?.headers : undefined,
|
|
718
721
|
integrity: resource.integrity,
|
|
719
722
|
keepalive: resource.keepalive,
|
|
720
723
|
method: resource.method,
|
|
@@ -1602,11 +1605,7 @@ async function navigate({
|
|
|
1602
1605
|
const scroll = popped ? popped.scroll : noscroll ? scroll_state() : null;
|
|
1603
1606
|
|
|
1604
1607
|
if (autoscroll) {
|
|
1605
|
-
const deep_linked =
|
|
1606
|
-
url.hash &&
|
|
1607
|
-
document.getElementById(
|
|
1608
|
-
decodeURIComponent(app.hash ? (url.hash.split('#')[2] ?? '') : url.hash.slice(1))
|
|
1609
|
-
);
|
|
1608
|
+
const deep_linked = url.hash && document.getElementById(get_id(url));
|
|
1610
1609
|
if (scroll) {
|
|
1611
1610
|
scrollTo(scroll.x, scroll.y);
|
|
1612
1611
|
} else if (deep_linked) {
|
|
@@ -1627,7 +1626,7 @@ async function navigate({
|
|
|
1627
1626
|
document.activeElement !== document.body;
|
|
1628
1627
|
|
|
1629
1628
|
if (!keepfocus && !changed_focus) {
|
|
1630
|
-
reset_focus();
|
|
1629
|
+
reset_focus(url);
|
|
1631
1630
|
}
|
|
1632
1631
|
|
|
1633
1632
|
autoscroll = true;
|
|
@@ -2194,7 +2193,7 @@ export async function applyAction(result) {
|
|
|
2194
2193
|
root.$set(navigation_result.props);
|
|
2195
2194
|
update(navigation_result.props.page);
|
|
2196
2195
|
|
|
2197
|
-
void tick().then(reset_focus);
|
|
2196
|
+
void tick().then(() => reset_focus(current.url));
|
|
2198
2197
|
}
|
|
2199
2198
|
} else if (result.type === 'redirect') {
|
|
2200
2199
|
await _goto(result.location, { invalidateAll: true }, 0);
|
|
@@ -2215,7 +2214,7 @@ export async function applyAction(result) {
|
|
|
2215
2214
|
root.$set({ form: result.data });
|
|
2216
2215
|
|
|
2217
2216
|
if (result.type === 'success') {
|
|
2218
|
-
reset_focus();
|
|
2217
|
+
reset_focus(page.url);
|
|
2219
2218
|
}
|
|
2220
2219
|
}
|
|
2221
2220
|
}
|
|
@@ -2439,6 +2438,8 @@ function _start_router() {
|
|
|
2439
2438
|
});
|
|
2440
2439
|
|
|
2441
2440
|
addEventListener('popstate', async (event) => {
|
|
2441
|
+
if (resetting_focus) return;
|
|
2442
|
+
|
|
2442
2443
|
if (event.state?.[HISTORY_INDEX]) {
|
|
2443
2444
|
const history_index = event.state[HISTORY_INDEX];
|
|
2444
2445
|
token = {};
|
|
@@ -2793,35 +2794,60 @@ function deserialize_uses(uses) {
|
|
|
2793
2794
|
};
|
|
2794
2795
|
}
|
|
2795
2796
|
|
|
2796
|
-
|
|
2797
|
+
/**
|
|
2798
|
+
* This flag is used to avoid client-side navigation when we're only using
|
|
2799
|
+
* `location.replace()` to set focus.
|
|
2800
|
+
*/
|
|
2801
|
+
let resetting_focus = false;
|
|
2802
|
+
|
|
2803
|
+
/**
|
|
2804
|
+
* @param {URL} url
|
|
2805
|
+
*/
|
|
2806
|
+
function reset_focus(url) {
|
|
2797
2807
|
const autofocus = document.querySelector('[autofocus]');
|
|
2798
2808
|
if (autofocus) {
|
|
2799
2809
|
// @ts-ignore
|
|
2800
2810
|
autofocus.focus();
|
|
2801
2811
|
} else {
|
|
2802
2812
|
// Reset page selection and focus
|
|
2803
|
-
|
|
2804
|
-
|
|
2813
|
+
|
|
2814
|
+
// Mimic the browsers' behaviour and set the sequential focus navigation
|
|
2815
|
+
// starting point to the fragment identifier.
|
|
2816
|
+
const id = get_id(url);
|
|
2817
|
+
if (id && document.getElementById(id)) {
|
|
2805
2818
|
const { x, y } = scroll_state();
|
|
2806
2819
|
|
|
2820
|
+
// `element.focus()` doesn't work on Safari and Firefox Ubuntu so we need
|
|
2821
|
+
// to use this hack with `location.replace()` instead.
|
|
2807
2822
|
setTimeout(() => {
|
|
2808
2823
|
const history_state = history.state;
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
location.replace(
|
|
2812
|
-
|
|
2813
|
-
// need to restore the
|
|
2824
|
+
|
|
2825
|
+
resetting_focus = true;
|
|
2826
|
+
location.replace(`#${id}`);
|
|
2827
|
+
|
|
2828
|
+
// if we're using hash routing, we need to restore the original hash after
|
|
2829
|
+
// setting the focus with `location.replace()`. Although we're calling
|
|
2830
|
+
// `location.replace()` again, the focus won't shift to the new hash
|
|
2831
|
+
// unless there's an element with the ID `/pathname#hash`, etc.
|
|
2832
|
+
if (app.hash) {
|
|
2833
|
+
location.replace(url.hash);
|
|
2834
|
+
}
|
|
2835
|
+
|
|
2836
|
+
// but Firefox has a bug that sets the history state to `null` so we
|
|
2837
|
+
// need to restore it after.
|
|
2814
2838
|
// See https://bugzilla.mozilla.org/show_bug.cgi?id=1199924
|
|
2815
|
-
history.replaceState(history_state, '',
|
|
2839
|
+
history.replaceState(history_state, '', url.hash);
|
|
2816
2840
|
|
|
2817
2841
|
// Scroll management has already happened earlier so we need to restore
|
|
2818
2842
|
// the scroll position after setting the sequential focus navigation starting point
|
|
2819
2843
|
scrollTo(x, y);
|
|
2844
|
+
resetting_focus = false;
|
|
2820
2845
|
});
|
|
2821
2846
|
} else {
|
|
2822
|
-
//
|
|
2823
|
-
// first scrollable region,
|
|
2824
|
-
// shift-tabbing won't immediately cycle up from
|
|
2847
|
+
// If the ID doesn't exist, we try to mimic browsers' behaviour as closely
|
|
2848
|
+
// as possible by targeting the first scrollable region. Unfortunately, it's
|
|
2849
|
+
// not a perfect match — e.g. shift-tabbing won't immediately cycle up from
|
|
2850
|
+
// the end of the page on Chromium
|
|
2825
2851
|
// See https://html.spec.whatwg.org/multipage/interaction.html#get-the-focusable-area
|
|
2826
2852
|
const root = document.body;
|
|
2827
2853
|
const tabindex = root.getAttribute('tabindex');
|
|
@@ -2961,6 +2987,23 @@ function decode_hash(url) {
|
|
|
2961
2987
|
return new_url;
|
|
2962
2988
|
}
|
|
2963
2989
|
|
|
2990
|
+
/**
|
|
2991
|
+
* @param {URL} url
|
|
2992
|
+
* @returns {string}
|
|
2993
|
+
*/
|
|
2994
|
+
function get_id(url) {
|
|
2995
|
+
let id;
|
|
2996
|
+
|
|
2997
|
+
if (app.hash) {
|
|
2998
|
+
const [, , second] = url.hash.split('#', 3);
|
|
2999
|
+
id = second ?? '';
|
|
3000
|
+
} else {
|
|
3001
|
+
id = url.hash.slice(1);
|
|
3002
|
+
}
|
|
3003
|
+
|
|
3004
|
+
return decodeURIComponent(id);
|
|
3005
|
+
}
|
|
3006
|
+
|
|
2964
3007
|
if (DEV) {
|
|
2965
3008
|
// Nasty hack to silence harmless warnings the user can do nothing about
|
|
2966
3009
|
const console_warn = console.warn;
|
|
@@ -145,10 +145,7 @@ export function create_fetch({ event, options, manifest, state, get_cookie_heade
|
|
|
145
145
|
);
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
const response = await
|
|
149
|
-
...state,
|
|
150
|
-
depth: state.depth + 1
|
|
151
|
-
});
|
|
148
|
+
const response = await internal_fetch(request, options, manifest, state);
|
|
152
149
|
|
|
153
150
|
const set_cookie = response.headers.get('set-cookie');
|
|
154
151
|
if (set_cookie) {
|
|
@@ -195,3 +192,43 @@ function normalize_fetch_input(info, init, url) {
|
|
|
195
192
|
|
|
196
193
|
return new Request(typeof info === 'string' ? new URL(info, url) : info, init);
|
|
197
194
|
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* @param {Request} request
|
|
198
|
+
* @param {import('types').SSROptions} options
|
|
199
|
+
* @param {import('@sveltejs/kit').SSRManifest} manifest
|
|
200
|
+
* @param {import('types').SSRState} state
|
|
201
|
+
* @returns {Promise<Response>}
|
|
202
|
+
*/
|
|
203
|
+
async function internal_fetch(request, options, manifest, state) {
|
|
204
|
+
if (request.signal) {
|
|
205
|
+
if (request.signal.aborted) {
|
|
206
|
+
throw new DOMException('The operation was aborted.', 'AbortError');
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
let remove_abort_listener = () => {};
|
|
210
|
+
/** @type {Promise<never>} */
|
|
211
|
+
const abort_promise = new Promise((_, reject) => {
|
|
212
|
+
const on_abort = () => {
|
|
213
|
+
reject(new DOMException('The operation was aborted.', 'AbortError'));
|
|
214
|
+
};
|
|
215
|
+
request.signal.addEventListener('abort', on_abort, { once: true });
|
|
216
|
+
remove_abort_listener = () => request.signal.removeEventListener('abort', on_abort);
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
const result = await Promise.race([
|
|
220
|
+
respond(request, options, manifest, {
|
|
221
|
+
...state,
|
|
222
|
+
depth: state.depth + 1
|
|
223
|
+
}),
|
|
224
|
+
abort_promise
|
|
225
|
+
]);
|
|
226
|
+
remove_abort_listener();
|
|
227
|
+
return result;
|
|
228
|
+
} else {
|
|
229
|
+
return await respond(request, options, manifest, {
|
|
230
|
+
...state,
|
|
231
|
+
depth: state.depth + 1
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
}
|
package/src/version.js
CHANGED
package/types/index.d.ts.map
CHANGED
|
@@ -169,6 +169,6 @@
|
|
|
169
169
|
null,
|
|
170
170
|
null
|
|
171
171
|
],
|
|
172
|
-
"mappings": "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
|
|
172
|
+
"mappings": "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",
|
|
173
173
|
"ignoreList": []
|
|
174
174
|
}
|