@sveltejs/kit 2.49.2 → 2.49.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 +7 -3
- package/src/core/config/options.js +2 -1
- package/src/exports/public.d.ts +6 -2
- package/src/exports/vite/build/build_server.js +26 -11
- package/src/exports/vite/build/utils.js +9 -5
- package/src/exports/vite/index.js +2 -1
- package/src/exports/vite/preview/index.js +5 -0
- package/src/runtime/client/client.js +2 -2
- package/src/runtime/form-utils.js +1 -1
- package/src/types/global-private.d.ts +2 -0
- package/src/utils/url.js +2 -2
- package/src/version.js +1 -1
- package/types/index.d.ts +6 -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.49.
|
|
3
|
+
"version": "2.49.4",
|
|
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
|
"@opentelemetry/api": "^1.0.0",
|
|
37
|
-
"@playwright/test": "
|
|
37
|
+
"@playwright/test": "1.56.0",
|
|
38
38
|
"@sveltejs/vite-plugin-svelte": "^6.0.0-next.3",
|
|
39
39
|
"@types/connect": "^3.4.38",
|
|
40
40
|
"@types/node": "^18.19.119",
|
|
@@ -45,17 +45,21 @@
|
|
|
45
45
|
"svelte-preprocess": "^6.0.0",
|
|
46
46
|
"typescript": "^5.3.3",
|
|
47
47
|
"vite": "^6.3.5",
|
|
48
|
-
"vitest": "^
|
|
48
|
+
"vitest": "^4.0.0"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0",
|
|
52
52
|
"@opentelemetry/api": "^1.0.0",
|
|
53
53
|
"svelte": "^4.0.0 || ^5.0.0-next.0",
|
|
54
|
+
"typescript": "^5.3.3",
|
|
54
55
|
"vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0"
|
|
55
56
|
},
|
|
56
57
|
"peerDependenciesMeta": {
|
|
57
58
|
"@opentelemetry/api": {
|
|
58
59
|
"optional": true
|
|
60
|
+
},
|
|
61
|
+
"typescript": {
|
|
62
|
+
"optional": true
|
|
59
63
|
}
|
|
60
64
|
},
|
|
61
65
|
"bin": {
|
package/src/exports/public.d.ts
CHANGED
|
@@ -356,8 +356,6 @@ export interface KitConfig {
|
|
|
356
356
|
* };
|
|
357
357
|
* ```
|
|
358
358
|
*
|
|
359
|
-
* > [!NOTE] The built-in `$lib` alias is controlled by `config.kit.files.lib` as it is used for packaging.
|
|
360
|
-
*
|
|
361
359
|
* > [!NOTE] You will need to run `npm run dev` to have SvelteKit automatically generate the required alias configuration in `jsconfig.json` or `tsconfig.json`.
|
|
362
360
|
* @default {}
|
|
363
361
|
*/
|
|
@@ -507,6 +505,12 @@ export interface KitConfig {
|
|
|
507
505
|
* @default false
|
|
508
506
|
*/
|
|
509
507
|
remoteFunctions?: boolean;
|
|
508
|
+
|
|
509
|
+
/**
|
|
510
|
+
* Whether to enable the experimental forked preloading feature using Svelte's fork API.
|
|
511
|
+
* @default false
|
|
512
|
+
*/
|
|
513
|
+
forkPreloads?: boolean;
|
|
510
514
|
};
|
|
511
515
|
/**
|
|
512
516
|
* Where to find various files within your project.
|
|
@@ -6,7 +6,6 @@ import { normalizePath } from 'vite';
|
|
|
6
6
|
import { basename, join } from 'node:path';
|
|
7
7
|
import { create_node_analyser } from '../static_analysis/index.js';
|
|
8
8
|
|
|
9
|
-
|
|
10
9
|
/**
|
|
11
10
|
* @param {string} out
|
|
12
11
|
* @param {import('types').ValidatedKitConfig} kit
|
|
@@ -18,7 +17,17 @@ import { create_node_analyser } from '../static_analysis/index.js';
|
|
|
18
17
|
* @param {import('types').RecursiveRequired<import('types').ValidatedConfig['kit']['output']>} output_config
|
|
19
18
|
* @param {Map<string, { page_options: Record<string, any> | null, children: string[] }>} static_exports
|
|
20
19
|
*/
|
|
21
|
-
export async function build_server_nodes(
|
|
20
|
+
export async function build_server_nodes(
|
|
21
|
+
out,
|
|
22
|
+
kit,
|
|
23
|
+
manifest_data,
|
|
24
|
+
server_manifest,
|
|
25
|
+
client_manifest,
|
|
26
|
+
server_bundle,
|
|
27
|
+
client_chunks,
|
|
28
|
+
output_config,
|
|
29
|
+
static_exports
|
|
30
|
+
) {
|
|
22
31
|
mkdirp(`${out}/server/nodes`);
|
|
23
32
|
mkdirp(`${out}/server/stylesheets`);
|
|
24
33
|
|
|
@@ -37,7 +46,7 @@ export async function build_server_nodes(out, kit, manifest_data, server_manifes
|
|
|
37
46
|
}
|
|
38
47
|
client_stylesheet.forEach((file, i) => {
|
|
39
48
|
stylesheets_to_inline.set(file, server_stylesheet[i]);
|
|
40
|
-
})
|
|
49
|
+
});
|
|
41
50
|
}
|
|
42
51
|
|
|
43
52
|
// filter out stylesheets that should not be inlined
|
|
@@ -60,7 +69,9 @@ export async function build_server_nodes(out, kit, manifest_data, server_manifes
|
|
|
60
69
|
const { get_page_options } = create_node_analyser({
|
|
61
70
|
resolve: (server_node) => {
|
|
62
71
|
// Windows needs the file:// protocol for absolute path dynamic imports
|
|
63
|
-
return import(
|
|
72
|
+
return import(
|
|
73
|
+
`file://${join(out, 'server', resolve_symlinks(server_manifest, server_node).chunk.file)}`
|
|
74
|
+
);
|
|
64
75
|
},
|
|
65
76
|
static_exports
|
|
66
77
|
});
|
|
@@ -97,7 +108,7 @@ export async function build_server_nodes(out, kit, manifest_data, server_manifes
|
|
|
97
108
|
if (node.universal) {
|
|
98
109
|
const page_options = await get_page_options(node);
|
|
99
110
|
if (!!page_options && page_options.ssr === false) {
|
|
100
|
-
exports.push(`export const universal = ${s(page_options, null, 2)};`)
|
|
111
|
+
exports.push(`export const universal = ${s(page_options, null, 2)};`);
|
|
101
112
|
} else {
|
|
102
113
|
imports.push(
|
|
103
114
|
`import * as universal from '../${resolve_symlinks(server_manifest, node.universal).chunk.file}';`
|
|
@@ -116,14 +127,18 @@ export async function build_server_nodes(out, kit, manifest_data, server_manifes
|
|
|
116
127
|
exports.push(`export const server_id = ${s(node.server)};`);
|
|
117
128
|
}
|
|
118
129
|
|
|
119
|
-
if (
|
|
130
|
+
if (
|
|
131
|
+
client_manifest &&
|
|
132
|
+
(node.universal || node.component) &&
|
|
133
|
+
output_config.bundleStrategy === 'split'
|
|
134
|
+
) {
|
|
120
135
|
const entry_path = `${normalizePath(kit.outDir)}/generated/client-optimized/nodes/${i}.js`;
|
|
121
136
|
const entry = find_deps(client_manifest, entry_path, true);
|
|
122
137
|
|
|
123
138
|
// eagerly load client stylesheets and fonts imported by the SSR-ed page to avoid FOUC.
|
|
124
139
|
// However, if it is not used during SSR (not present in the server manifest),
|
|
125
140
|
// then it can be lazily loaded in the browser.
|
|
126
|
-
|
|
141
|
+
|
|
127
142
|
/** @type {import('types').AssetDependencies | undefined} */
|
|
128
143
|
let component;
|
|
129
144
|
if (node.component) {
|
|
@@ -149,8 +164,8 @@ export async function build_server_nodes(out, kit, manifest_data, server_manifes
|
|
|
149
164
|
}
|
|
150
165
|
|
|
151
166
|
if (component?.stylesheet_map.has(filepath) || universal?.stylesheet_map.has(filepath)) {
|
|
152
|
-
value.css.forEach(file => eager_css.add(file));
|
|
153
|
-
value.assets.forEach(file => eager_assets.add(file));
|
|
167
|
+
value.css.forEach((file) => eager_css.add(file));
|
|
168
|
+
value.assets.forEach((file) => eager_assets.add(file));
|
|
154
169
|
}
|
|
155
170
|
});
|
|
156
171
|
|
|
@@ -196,7 +211,7 @@ export async function build_server_nodes(out, kit, manifest_data, server_manifes
|
|
|
196
211
|
}
|
|
197
212
|
|
|
198
213
|
/**
|
|
199
|
-
* @param {(import('vite').Rollup.OutputAsset | import('vite').Rollup.OutputChunk)[]} chunks
|
|
214
|
+
* @param {(import('vite').Rollup.OutputAsset | import('vite').Rollup.OutputChunk)[]} chunks
|
|
200
215
|
*/
|
|
201
216
|
function get_stylesheets(chunks) {
|
|
202
217
|
/**
|
|
@@ -222,7 +237,7 @@ function get_stylesheets(chunks) {
|
|
|
222
237
|
if (chunk.viteMetadata?.importedCss.size) {
|
|
223
238
|
const css = Array.from(chunk.viteMetadata.importedCss);
|
|
224
239
|
for (const id of chunk.moduleIds) {
|
|
225
|
-
stylesheets_used.set(id, css
|
|
240
|
+
stylesheets_used.set(id, css);
|
|
226
241
|
}
|
|
227
242
|
}
|
|
228
243
|
}
|
|
@@ -40,7 +40,7 @@ export function find_deps(manifest, entry, add_dynamic_css) {
|
|
|
40
40
|
if (add_js) imports.add(chunk.file);
|
|
41
41
|
|
|
42
42
|
if (chunk.assets) {
|
|
43
|
-
chunk.assets.forEach(asset => imported_assets.add(asset));
|
|
43
|
+
chunk.assets.forEach((asset) => imported_assets.add(asset));
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
if (chunk.css) {
|
|
@@ -48,7 +48,9 @@ export function find_deps(manifest, entry, add_dynamic_css) {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
if (chunk.imports) {
|
|
51
|
-
chunk.imports.forEach((file) =>
|
|
51
|
+
chunk.imports.forEach((file) =>
|
|
52
|
+
traverse(file, add_js, initial_importer, dynamic_import_depth)
|
|
53
|
+
);
|
|
52
54
|
}
|
|
53
55
|
|
|
54
56
|
if (!add_dynamic_css) return;
|
|
@@ -58,7 +60,9 @@ export function find_deps(manifest, entry, add_dynamic_css) {
|
|
|
58
60
|
// a transitive dependency, it doesn't have a suitable name we can map back to
|
|
59
61
|
// the server manifest
|
|
60
62
|
if (stylesheet_map.has(initial_importer)) {
|
|
61
|
-
const { css, assets } = /** @type {{ css: Set<string>; assets: Set<string> }} */ (
|
|
63
|
+
const { css, assets } = /** @type {{ css: Set<string>; assets: Set<string> }} */ (
|
|
64
|
+
stylesheet_map.get(initial_importer)
|
|
65
|
+
);
|
|
62
66
|
if (chunk.css) chunk.css.forEach((file) => css.add(file));
|
|
63
67
|
if (chunk.assets) chunk.assets.forEach((file) => assets.add(file));
|
|
64
68
|
} else {
|
|
@@ -111,14 +115,14 @@ export function resolve_symlinks(manifest, file) {
|
|
|
111
115
|
}
|
|
112
116
|
|
|
113
117
|
/**
|
|
114
|
-
* @param {string[]} assets
|
|
118
|
+
* @param {string[]} assets
|
|
115
119
|
* @returns {string[]}
|
|
116
120
|
*/
|
|
117
121
|
export function filter_fonts(assets) {
|
|
118
122
|
return assets.filter((asset) => /\.(woff2?|ttf|otf)$/.test(asset));
|
|
119
123
|
}
|
|
120
124
|
|
|
121
|
-
const method_names = new Set(
|
|
125
|
+
const method_names = new Set(['GET', 'HEAD', 'PUT', 'POST', 'DELETE', 'PATCH', 'OPTIONS']);
|
|
122
126
|
|
|
123
127
|
// If we'd written this in TypeScript, it could be easy...
|
|
124
128
|
/**
|
|
@@ -42,7 +42,7 @@ import { import_peer } from '../../utils/import.js';
|
|
|
42
42
|
import { compact } from '../../utils/array.js';
|
|
43
43
|
import { should_ignore } from './static_analysis/utils.js';
|
|
44
44
|
|
|
45
|
-
const cwd = process.cwd();
|
|
45
|
+
const cwd = posixify(process.cwd());
|
|
46
46
|
|
|
47
47
|
/** @type {import('./types.js').EnforcedConfig} */
|
|
48
48
|
const enforced_config = {
|
|
@@ -346,6 +346,7 @@ async function kit({ svelte_config }) {
|
|
|
346
346
|
__SVELTEKIT_APP_DIR__: s(kit.appDir),
|
|
347
347
|
__SVELTEKIT_EMBEDDED__: s(kit.embedded),
|
|
348
348
|
__SVELTEKIT_EXPERIMENTAL__REMOTE_FUNCTIONS__: s(kit.experimental.remoteFunctions),
|
|
349
|
+
__SVELTEKIT_FORK_PRELOADS__: s(kit.experimental.forkPreloads),
|
|
349
350
|
__SVELTEKIT_PATHS_ASSETS__: s(kit.paths.assets),
|
|
350
351
|
__SVELTEKIT_PATHS_BASE__: s(kit.paths.base),
|
|
351
352
|
__SVELTEKIT_PATHS_RELATIVE__: s(kit.paths.relative),
|
|
@@ -35,6 +35,11 @@ export async function preview(vite, vite_config, svelte_config) {
|
|
|
35
35
|
throw new Error(`Server files not found at ${dir}, did you run \`build\` first?`);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
const instrumentation = join(dir, 'instrumentation.server.js');
|
|
39
|
+
if (fs.existsSync(instrumentation)) {
|
|
40
|
+
await import(pathToFileURL(instrumentation).href);
|
|
41
|
+
}
|
|
42
|
+
|
|
38
43
|
/** @type {import('types').ServerInternalModule} */
|
|
39
44
|
const { set_assets } = await import(pathToFileURL(join(dir, 'internal.js')).href);
|
|
40
45
|
|
|
@@ -532,7 +532,7 @@ async function _preload_data(intent) {
|
|
|
532
532
|
fork: null
|
|
533
533
|
};
|
|
534
534
|
|
|
535
|
-
if (svelte.fork) {
|
|
535
|
+
if (__SVELTEKIT_FORK_PRELOADS__ && svelte.fork) {
|
|
536
536
|
const lc = load_cache;
|
|
537
537
|
|
|
538
538
|
lc.fork = lc.promise.then((result) => {
|
|
@@ -545,7 +545,7 @@ async function _preload_data(intent) {
|
|
|
545
545
|
update(result.props.page);
|
|
546
546
|
});
|
|
547
547
|
} catch {
|
|
548
|
-
// if it errors, it's because the experimental flag isn't enabled
|
|
548
|
+
// if it errors, it's because the experimental flag isn't enabled in Svelte
|
|
549
549
|
}
|
|
550
550
|
}
|
|
551
551
|
|
|
@@ -441,7 +441,7 @@ export function deep_set(object, keys, value) {
|
|
|
441
441
|
check_prototype_pollution(key);
|
|
442
442
|
|
|
443
443
|
const is_array = /^\d+$/.test(keys[i + 1]);
|
|
444
|
-
const exists = key
|
|
444
|
+
const exists = Object.hasOwn(current, key);
|
|
445
445
|
const inner = current[key];
|
|
446
446
|
|
|
447
447
|
if (exists && is_array !== Array.isArray(inner)) {
|
|
@@ -11,6 +11,8 @@ declare global {
|
|
|
11
11
|
const __SVELTEKIT_SERVER_TRACING_ENABLED__: boolean;
|
|
12
12
|
/** true if corresponding config option is set to true */
|
|
13
13
|
const __SVELTEKIT_EXPERIMENTAL__REMOTE_FUNCTIONS__: boolean;
|
|
14
|
+
/** True if `config.kit.experimental.forkPreloads` is `true` */
|
|
15
|
+
const __SVELTEKIT_FORK_PRELOADS__: boolean;
|
|
14
16
|
/** True if `config.kit.router.resolution === 'client'` */
|
|
15
17
|
const __SVELTEKIT_CLIENT_ROUTING__: boolean;
|
|
16
18
|
/** True if `config.kit.router.type === 'hash'` */
|
package/src/utils/url.js
CHANGED
|
@@ -98,9 +98,9 @@ export function make_trackable(url, callback, search_params_callback, allow_hash
|
|
|
98
98
|
value: new Proxy(tracked.searchParams, {
|
|
99
99
|
get(obj, key) {
|
|
100
100
|
if (key === 'get' || key === 'getAll' || key === 'has') {
|
|
101
|
-
return (
|
|
101
|
+
return (/** @type {string} */ param, /** @type {string[]} */ ...rest) => {
|
|
102
102
|
search_params_callback(param);
|
|
103
|
-
return obj[key](param);
|
|
103
|
+
return obj[key](param, ...rest);
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
106
|
|
package/src/version.js
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -332,8 +332,6 @@ declare module '@sveltejs/kit' {
|
|
|
332
332
|
* };
|
|
333
333
|
* ```
|
|
334
334
|
*
|
|
335
|
-
* > [!NOTE] The built-in `$lib` alias is controlled by `config.kit.files.lib` as it is used for packaging.
|
|
336
|
-
*
|
|
337
335
|
* > [!NOTE] You will need to run `npm run dev` to have SvelteKit automatically generate the required alias configuration in `jsconfig.json` or `tsconfig.json`.
|
|
338
336
|
* @default {}
|
|
339
337
|
*/
|
|
@@ -483,6 +481,12 @@ declare module '@sveltejs/kit' {
|
|
|
483
481
|
* @default false
|
|
484
482
|
*/
|
|
485
483
|
remoteFunctions?: boolean;
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* Whether to enable the experimental forked preloading feature using Svelte's fork API.
|
|
487
|
+
* @default false
|
|
488
|
+
*/
|
|
489
|
+
forkPreloads?: boolean;
|
|
486
490
|
};
|
|
487
491
|
/**
|
|
488
492
|
* Where to find various files within your project.
|
package/types/index.d.ts.map
CHANGED
|
@@ -215,6 +215,6 @@
|
|
|
215
215
|
null,
|
|
216
216
|
null
|
|
217
217
|
],
|
|
218
|
-
"mappings": ";;;;;;;;MA+BKA,IAAIA;;;;;kBAKQC,OAAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAiCZC,cAAcA;;;;;;aAMdC,cAAcA;;;;;;;;MAQrBC,aAAaA;;;;;OAKJC,YAAYA;;kBAETC,aAAaA;;;;;;MAMzBC,qBAAqBA;;;;;;;;;;;kBAWTC,OAAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA8IPC,MAAMA;;;;;;;;;;;kBAWNC,OAAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4DPC,QAAQA;;;;;;;;kBAQRC,SAASA
|
|
218
|
+
"mappings": "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",
|
|
219
219
|
"ignoreList": []
|
|
220
220
|
}
|