@sveltejs/kit 2.22.5 → 2.24.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 +3 -3
- package/src/cli.js +5 -3
- package/src/core/config/index.js +13 -6
- package/src/core/sync/create_manifest_data/index.js +1 -1
- package/src/core/sync/write_root.js +6 -6
- package/src/core/sync/write_types/index.js +5 -3
- package/src/exports/public.d.ts +9 -17
- package/src/exports/vite/build/build_service_worker.js +5 -4
- package/src/exports/vite/dev/index.js +1 -1
- package/src/exports/vite/index.js +8 -8
- package/src/runtime/client/session-storage.js +1 -0
- package/src/version.js +1 -1
- package/types/index.d.ts +9 -17
- 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.24.0",
|
|
4
4
|
"description": "SvelteKit is the fastest way to build Svelte apps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"framework",
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@playwright/test": "^1.51.1",
|
|
36
|
-
"@sveltejs/vite-plugin-svelte": "^6.0.0-next.
|
|
36
|
+
"@sveltejs/vite-plugin-svelte": "^6.0.0-next.3",
|
|
37
37
|
"@types/connect": "^3.4.38",
|
|
38
38
|
"@types/node": "^18.19.48",
|
|
39
39
|
"@types/set-cookie-parser": "^2.4.7",
|
|
40
40
|
"dts-buddy": "^0.6.1",
|
|
41
41
|
"rollup": "^4.14.2",
|
|
42
|
-
"svelte": "^5.
|
|
42
|
+
"svelte": "^5.35.5",
|
|
43
43
|
"svelte-preprocess": "^6.0.0",
|
|
44
44
|
"typescript": "^5.3.3",
|
|
45
45
|
"vite": "^6.3.5",
|
package/src/cli.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
|
-
import path from 'node:path';
|
|
3
2
|
import process from 'node:process';
|
|
4
3
|
import colors from 'kleur';
|
|
5
4
|
import sade from 'sade';
|
|
@@ -28,8 +27,11 @@ prog
|
|
|
28
27
|
.describe('Synchronise generated type definitions')
|
|
29
28
|
.option('--mode', 'Specify a mode for loading environment variables', 'development')
|
|
30
29
|
.action(async ({ mode }) => {
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
const config_files = ['js', 'ts']
|
|
31
|
+
.map((ext) => `svelte.config.${ext}`)
|
|
32
|
+
.filter((f) => fs.existsSync(f));
|
|
33
|
+
if (config_files.length === 0) {
|
|
34
|
+
console.warn(`Missing Svelte config file in ${process.cwd()} — skipping`);
|
|
33
35
|
return;
|
|
34
36
|
}
|
|
35
37
|
|
package/src/core/config/index.js
CHANGED
|
@@ -57,17 +57,24 @@ export function load_error_page(config) {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
|
-
* Loads and validates
|
|
60
|
+
* Loads and validates Svelte config file
|
|
61
61
|
* @param {{ cwd?: string }} options
|
|
62
62
|
* @returns {Promise<import('types').ValidatedConfig>}
|
|
63
63
|
*/
|
|
64
64
|
export async function load_config({ cwd = process.cwd() } = {}) {
|
|
65
|
-
const
|
|
65
|
+
const config_files = ['js', 'ts']
|
|
66
|
+
.map((ext) => path.join(cwd, `svelte.config.${ext}`))
|
|
67
|
+
.filter((f) => fs.existsSync(f));
|
|
66
68
|
|
|
67
|
-
if (
|
|
69
|
+
if (config_files.length === 0) {
|
|
68
70
|
return process_config({}, { cwd });
|
|
69
71
|
}
|
|
70
|
-
|
|
72
|
+
const config_file = config_files[0];
|
|
73
|
+
if (config_files.length > 1) {
|
|
74
|
+
console.log(
|
|
75
|
+
`Found multiple Svelte config files in ${cwd}: ${config_files.map((f) => path.basename(f)).join(', ')}. Using ${path.basename(config_file)}`
|
|
76
|
+
);
|
|
77
|
+
}
|
|
71
78
|
const config = await import(`${url.pathToFileURL(config_file).href}?ts=${Date.now()}`);
|
|
72
79
|
|
|
73
80
|
try {
|
|
@@ -76,7 +83,7 @@ export async function load_config({ cwd = process.cwd() } = {}) {
|
|
|
76
83
|
const error = /** @type {Error} */ (e);
|
|
77
84
|
|
|
78
85
|
// redact the stack trace — it's not helpful to users
|
|
79
|
-
error.stack = `Could not load
|
|
86
|
+
error.stack = `Could not load ${config_file}: ${error.message}\n`;
|
|
80
87
|
throw error;
|
|
81
88
|
}
|
|
82
89
|
}
|
|
@@ -111,7 +118,7 @@ function process_config(config, { cwd = process.cwd() } = {}) {
|
|
|
111
118
|
export function validate_config(config) {
|
|
112
119
|
if (typeof config !== 'object') {
|
|
113
120
|
throw new Error(
|
|
114
|
-
'
|
|
121
|
+
'The Svelte config file must have a configuration object as its default export. See https://svelte.dev/docs/kit/configuration'
|
|
115
122
|
);
|
|
116
123
|
}
|
|
117
124
|
|
|
@@ -361,7 +361,7 @@ function create_routes_and_nodes(cwd, config, fallback) {
|
|
|
361
361
|
const root = routes[0];
|
|
362
362
|
if (!root.leaf && !root.error && !root.layout && !root.endpoint) {
|
|
363
363
|
throw new Error(
|
|
364
|
-
'No routes found. If you are using a custom src/routes directory, make sure it is specified in
|
|
364
|
+
'No routes found. If you are using a custom src/routes directory, make sure it is specified in your Svelte config file'
|
|
365
365
|
);
|
|
366
366
|
}
|
|
367
367
|
}
|
|
@@ -36,25 +36,25 @@ export function write_root(manifest_data, output) {
|
|
|
36
36
|
isSvelte5Plus()
|
|
37
37
|
? dedent`{@const Pyramid_${l} = constructors[${l}]}
|
|
38
38
|
<!-- svelte-ignore binding_property_non_reactive -->
|
|
39
|
-
<Pyramid_${l} bind:this={components[${l}]} data={data_${l}} {form}>
|
|
39
|
+
<Pyramid_${l} bind:this={components[${l}]} data={data_${l}} {form} params={page.params}>
|
|
40
40
|
${pyramid}
|
|
41
41
|
</Pyramid_${l}>`
|
|
42
|
-
: dedent`<svelte:component this={constructors[${l}]} bind:this={components[${l}]} data={data_${l}}>
|
|
42
|
+
: dedent`<svelte:component this={constructors[${l}]} bind:this={components[${l}]} data={data_${l}} params={page.params}>
|
|
43
43
|
${pyramid}
|
|
44
44
|
</svelte:component>`
|
|
45
45
|
}
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
{:else}
|
|
48
48
|
${
|
|
49
49
|
isSvelte5Plus()
|
|
50
50
|
? dedent`
|
|
51
51
|
{@const Pyramid_${l} = constructors[${l}]}
|
|
52
52
|
<!-- svelte-ignore binding_property_non_reactive -->
|
|
53
|
-
<Pyramid_${l} bind:this={components[${l}]} data={data_${l}} {form} />
|
|
53
|
+
<Pyramid_${l} bind:this={components[${l}]} data={data_${l}} {form} params={page.params} />
|
|
54
54
|
`
|
|
55
|
-
: dedent`<svelte:component this={constructors[${l}]} bind:this={components[${l}]} data={data_${l}} {form} />`
|
|
55
|
+
: dedent`<svelte:component this={constructors[${l}]} bind:this={components[${l}]} data={data_${l}} {form} params={page.params} />`
|
|
56
56
|
}
|
|
57
|
-
|
|
57
|
+
|
|
58
58
|
{/if}
|
|
59
59
|
`;
|
|
60
60
|
}
|
|
@@ -272,9 +272,11 @@ function update_types(config, routes, route, to_delete = new Set()) {
|
|
|
272
272
|
}
|
|
273
273
|
|
|
274
274
|
if (route.leaf.server) {
|
|
275
|
-
exports.push(
|
|
275
|
+
exports.push(
|
|
276
|
+
'export type PageProps = { params: RouteParams; data: PageData; form: ActionData }'
|
|
277
|
+
);
|
|
276
278
|
} else {
|
|
277
|
-
exports.push('export type PageProps = { data: PageData }');
|
|
279
|
+
exports.push('export type PageProps = { params: RouteParams; data: PageData }');
|
|
278
280
|
}
|
|
279
281
|
}
|
|
280
282
|
|
|
@@ -341,7 +343,7 @@ function update_types(config, routes, route, to_delete = new Set()) {
|
|
|
341
343
|
if (proxies.universal?.modified) to_delete.delete(proxies.universal.file_name);
|
|
342
344
|
|
|
343
345
|
exports.push(
|
|
344
|
-
'export type LayoutProps = { data: LayoutData; children: import("svelte").Snippet }'
|
|
346
|
+
'export type LayoutProps = { params: LayoutParams; data: LayoutData; children: import("svelte").Snippet }'
|
|
345
347
|
);
|
|
346
348
|
}
|
|
347
349
|
|
package/src/exports/public.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import 'svelte'; // pick up `declare module "*.svelte"`
|
|
|
2
2
|
import 'vite/client'; // pick up `declare module "*.jpg"`, etc.
|
|
3
3
|
import '../types/ambient.js';
|
|
4
4
|
|
|
5
|
-
import { CompileOptions } from 'svelte/compiler';
|
|
6
5
|
import {
|
|
7
6
|
AdapterEntry,
|
|
8
7
|
CspDirectives,
|
|
@@ -18,7 +17,7 @@ import {
|
|
|
18
17
|
RouteSegment
|
|
19
18
|
} from '../types/private.js';
|
|
20
19
|
import { BuildData, SSRNodeLoader, SSRRoute, ValidatedConfig } from 'types';
|
|
21
|
-
import type {
|
|
20
|
+
import type { SvelteConfig } from '@sveltejs/vite-plugin-svelte';
|
|
22
21
|
|
|
23
22
|
export { PrerenderOption } from '../types/private.js';
|
|
24
23
|
|
|
@@ -98,7 +97,7 @@ export interface Builder {
|
|
|
98
97
|
/** Create `dir` and any required parent directories. */
|
|
99
98
|
mkdirp: (dir: string) => void;
|
|
100
99
|
|
|
101
|
-
/** The fully resolved
|
|
100
|
+
/** The fully resolved Svelte config. */
|
|
102
101
|
config: ValidatedConfig;
|
|
103
102
|
/** Information about prerendered pages and assets, if any. */
|
|
104
103
|
prerendered: Prerendered;
|
|
@@ -188,23 +187,16 @@ export interface Builder {
|
|
|
188
187
|
compress: (directory: string) => Promise<void>;
|
|
189
188
|
}
|
|
190
189
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
*/
|
|
196
|
-
compilerOptions?: CompileOptions;
|
|
190
|
+
/**
|
|
191
|
+
* An extension of [`vite-plugin-svelte`'s options](https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/config.md#svelte-options).
|
|
192
|
+
*/
|
|
193
|
+
export interface Config extends SvelteConfig {
|
|
197
194
|
/**
|
|
198
|
-
*
|
|
199
|
-
*
|
|
195
|
+
* SvelteKit options.
|
|
196
|
+
*
|
|
197
|
+
* @see https://svelte.dev/docs/kit/configuration
|
|
200
198
|
*/
|
|
201
|
-
extensions?: string[];
|
|
202
|
-
/** SvelteKit options */
|
|
203
199
|
kit?: KitConfig;
|
|
204
|
-
/** Preprocessor options, if any. Preprocessing can alternatively also be done through Vite's preprocessor capabilities. */
|
|
205
|
-
preprocess?: any;
|
|
206
|
-
/** `vite-plugin-svelte` plugin options. */
|
|
207
|
-
vitePlugin?: PluginOptions;
|
|
208
200
|
/** Any additional options required by tooling that integrates with Svelte. */
|
|
209
201
|
[key: string]: any;
|
|
210
202
|
}
|
|
@@ -6,6 +6,9 @@ import { get_config_aliases, strip_virtual_prefix, get_env, normalize_id } from
|
|
|
6
6
|
import { create_static_module } from '../../../core/env.js';
|
|
7
7
|
import { env_static_public, service_worker } from '../module_ids.js';
|
|
8
8
|
|
|
9
|
+
// @ts-ignore `vite.rolldownVersion` only exists in `rolldown-vite`
|
|
10
|
+
const isRolldown = !!vite.rolldownVersion;
|
|
11
|
+
|
|
9
12
|
/**
|
|
10
13
|
* @param {string} out
|
|
11
14
|
* @param {import('types').ValidatedKitConfig} kit
|
|
@@ -103,8 +106,7 @@ export async function build_service_worker(
|
|
|
103
106
|
},
|
|
104
107
|
output: {
|
|
105
108
|
// .mjs so that esbuild doesn't incorrectly inject `export` https://github.com/vitejs/vite/issues/15379
|
|
106
|
-
|
|
107
|
-
entryFileNames: `service-worker.${vite.rolldownVersion ? 'js' : 'mjs'}`,
|
|
109
|
+
entryFileNames: `service-worker.${isRolldown ? 'js' : 'mjs'}`,
|
|
108
110
|
assetFileNames: `${kit.appDir}/immutable/assets/[name].[hash][extname]`,
|
|
109
111
|
inlineDynamicImports: true
|
|
110
112
|
}
|
|
@@ -130,8 +132,7 @@ export async function build_service_worker(
|
|
|
130
132
|
});
|
|
131
133
|
|
|
132
134
|
// rename .mjs to .js to avoid incorrect MIME types with ancient webservers
|
|
133
|
-
|
|
134
|
-
if (!vite.rolldownVersion) {
|
|
135
|
+
if (!isRolldown) {
|
|
135
136
|
fs.renameSync(`${out}/client/service-worker.mjs`, `${out}/client/service-worker.js`);
|
|
136
137
|
}
|
|
137
138
|
}
|
|
@@ -397,7 +397,7 @@ export async function dev(vite, vite_config, svelte_config) {
|
|
|
397
397
|
// changing the svelte config requires restarting the dev server
|
|
398
398
|
// the config is only read on start and passed on to vite-plugin-svelte
|
|
399
399
|
// which needs up-to-date values to operate correctly
|
|
400
|
-
if (
|
|
400
|
+
if (file.match(/[/\\]svelte\.config\.[jt]s$/)) {
|
|
401
401
|
console.log(`svelte config changed, restarting vite dev-server. changed file: ${file}`);
|
|
402
402
|
restarting = true;
|
|
403
403
|
await vite.restart();
|
|
@@ -184,6 +184,9 @@ async function kit({ svelte_config }) {
|
|
|
184
184
|
/** @type {import('vite')} */
|
|
185
185
|
const vite = await import_peer('vite');
|
|
186
186
|
|
|
187
|
+
// @ts-ignore `vite.rolldownVersion` only exists in `rolldown-vite`
|
|
188
|
+
const isRolldown = !!vite.rolldownVersion;
|
|
189
|
+
|
|
187
190
|
const { kit } = svelte_config;
|
|
188
191
|
const out = `${kit.outDir}/output`;
|
|
189
192
|
|
|
@@ -661,8 +664,7 @@ Tips:
|
|
|
661
664
|
copyPublicDir: !ssr,
|
|
662
665
|
cssCodeSplit: svelte_config.kit.output.bundleStrategy !== 'inline',
|
|
663
666
|
cssMinify: initial_config.build?.minify == null ? true : !!initial_config.build.minify,
|
|
664
|
-
|
|
665
|
-
manifest: '.vite/manifest.json', // TODO: remove this after bumping peer dep to vite 5
|
|
667
|
+
manifest: true,
|
|
666
668
|
outDir: `${out}/${ssr ? 'server' : 'client'}`,
|
|
667
669
|
rollupOptions: {
|
|
668
670
|
input: inline ? input['bundle'] : input,
|
|
@@ -674,14 +676,12 @@ Tips:
|
|
|
674
676
|
assetFileNames: `${prefix}/assets/[name].[hash][extname]`,
|
|
675
677
|
hoistTransitiveImports: false,
|
|
676
678
|
sourcemapIgnoreList,
|
|
677
|
-
|
|
678
|
-
inlineDynamicImports: false
|
|
679
|
+
inlineDynamicImports: !split
|
|
679
680
|
},
|
|
680
681
|
preserveEntrySignatures: 'strict',
|
|
681
682
|
onwarn(warning, handler) {
|
|
682
683
|
if (
|
|
683
|
-
|
|
684
|
-
(vite.rolldownVersion
|
|
684
|
+
(isRolldown
|
|
685
685
|
? warning.code === 'IMPORT_IS_UNDEFINED'
|
|
686
686
|
: warning.code === 'MISSING_EXPORT') &&
|
|
687
687
|
warning.id === `${kit.outDir}/generated/client-optimized/app.js`
|
|
@@ -797,7 +797,7 @@ Tips:
|
|
|
797
797
|
const log = logger({ verbose });
|
|
798
798
|
|
|
799
799
|
/** @type {import('vite').Manifest} */
|
|
800
|
-
const server_manifest = JSON.parse(read(`${out}/server
|
|
800
|
+
const server_manifest = JSON.parse(read(`${out}/server/.vite/manifest.json`));
|
|
801
801
|
|
|
802
802
|
/** @type {import('types').BuildData} */
|
|
803
803
|
const build_data = {
|
|
@@ -870,7 +870,7 @@ Tips:
|
|
|
870
870
|
);
|
|
871
871
|
|
|
872
872
|
/** @type {import('vite').Manifest} */
|
|
873
|
-
const client_manifest = JSON.parse(read(`${out}/client
|
|
873
|
+
const client_manifest = JSON.parse(read(`${out}/client/.vite/manifest.json`));
|
|
874
874
|
|
|
875
875
|
/**
|
|
876
876
|
* @param {string} entry
|
package/src/version.js
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
/// <reference types="vite/client" />
|
|
3
3
|
|
|
4
4
|
declare module '@sveltejs/kit' {
|
|
5
|
-
import type {
|
|
6
|
-
import type { PluginOptions } from '@sveltejs/vite-plugin-svelte';
|
|
5
|
+
import type { SvelteConfig } from '@sveltejs/vite-plugin-svelte';
|
|
7
6
|
/**
|
|
8
7
|
* [Adapters](https://svelte.dev/docs/kit/adapters) are responsible for taking the production build and turning it into something that can be deployed to a platform of your choosing.
|
|
9
8
|
*/
|
|
@@ -80,7 +79,7 @@ declare module '@sveltejs/kit' {
|
|
|
80
79
|
/** Create `dir` and any required parent directories. */
|
|
81
80
|
mkdirp: (dir: string) => void;
|
|
82
81
|
|
|
83
|
-
/** The fully resolved
|
|
82
|
+
/** The fully resolved Svelte config. */
|
|
84
83
|
config: ValidatedConfig;
|
|
85
84
|
/** Information about prerendered pages and assets, if any. */
|
|
86
85
|
prerendered: Prerendered;
|
|
@@ -170,23 +169,16 @@ declare module '@sveltejs/kit' {
|
|
|
170
169
|
compress: (directory: string) => Promise<void>;
|
|
171
170
|
}
|
|
172
171
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
*/
|
|
178
|
-
compilerOptions?: CompileOptions;
|
|
172
|
+
/**
|
|
173
|
+
* An extension of [`vite-plugin-svelte`'s options](https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/config.md#svelte-options).
|
|
174
|
+
*/
|
|
175
|
+
export interface Config extends SvelteConfig {
|
|
179
176
|
/**
|
|
180
|
-
*
|
|
181
|
-
*
|
|
177
|
+
* SvelteKit options.
|
|
178
|
+
*
|
|
179
|
+
* @see https://svelte.dev/docs/kit/configuration
|
|
182
180
|
*/
|
|
183
|
-
extensions?: string[];
|
|
184
|
-
/** SvelteKit options */
|
|
185
181
|
kit?: KitConfig;
|
|
186
|
-
/** Preprocessor options, if any. Preprocessing can alternatively also be done through Vite's preprocessor capabilities. */
|
|
187
|
-
preprocess?: any;
|
|
188
|
-
/** `vite-plugin-svelte` plugin options. */
|
|
189
|
-
vitePlugin?: PluginOptions;
|
|
190
182
|
/** Any additional options required by tooling that integrates with Svelte. */
|
|
191
183
|
[key: string]: any;
|
|
192
184
|
}
|
package/types/index.d.ts.map
CHANGED
|
@@ -169,6 +169,6 @@
|
|
|
169
169
|
null,
|
|
170
170
|
null
|
|
171
171
|
],
|
|
172
|
-
"mappings": "
|
|
172
|
+
"mappings": "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",
|
|
173
173
|
"ignoreList": []
|
|
174
174
|
}
|