@sveltejs/kit 2.15.2 → 2.15.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sveltejs/kit",
3
- "version": "2.15.2",
3
+ "version": "2.15.3",
4
4
  "description": "SvelteKit is the fastest way to build Svelte apps",
5
5
  "keywords": [
6
6
  "framework",
@@ -21,7 +21,7 @@
21
21
  "@types/cookie": "^0.6.0",
22
22
  "cookie": "^0.6.0",
23
23
  "devalue": "^5.1.0",
24
- "esm-env": "^1.2.1",
24
+ "esm-env": "^1.2.2",
25
25
  "import-meta-resolve": "^4.1.0",
26
26
  "kleur": "^4.1.5",
27
27
  "magic-string": "^0.30.5",
@@ -585,7 +585,7 @@ function replace_ext_with_js(file_path) {
585
585
  function generate_params_type(params, outdir, config) {
586
586
  /** @param {string} matcher */
587
587
  const path_to_matcher = (matcher) =>
588
- posixify(path.relative(outdir, path.join(config.kit.files.params, matcher)));
588
+ posixify(path.relative(outdir, path.join(config.kit.files.params, matcher + '.js')));
589
589
 
590
590
  return `{ ${params
591
591
  .map(
@@ -499,11 +499,41 @@ export interface KitConfig {
499
499
  */
500
500
  preloadStrategy?: 'modulepreload' | 'preload-js' | 'preload-mjs';
501
501
  /**
502
+ * The bundle strategy option affects how your app's JavaScript and CSS files are loaded.
502
503
  * - If `'split'`, splits the app up into multiple .js/.css files so that they are loaded lazily as the user navigates around the app. This is the default, and is recommended for most scenarios.
503
504
  * - If `'single'`, creates just one .js bundle and one .css file containing code for the entire app.
504
505
  * - If `'inline'`, inlines all JavaScript and CSS of the entire app into the HTML. The result is usable without a server (i.e. you can just open the file in your browser).
505
506
  *
506
- * When using `'split'`, you can also adjust the bundling behaviour by setting [`output.experimentalMinChunkSize`](https://rollupjs.org/configuration-options/#output-experimentalminchunksize) and [`output.manualChunks`](https://rollupjs.org/configuration-options/#output-manualchunks)inside your Vite config's [`build.rollupOptions`](https://vite.dev/config/build-options.html#build-rollupoptions).
507
+ * When using `'split'`, you can also adjust the bundling behaviour by setting [`output.experimentalMinChunkSize`](https://rollupjs.org/configuration-options/#output-experimentalminchunksize) and [`output.manualChunks`](https://rollupjs.org/configuration-options/#output-manualchunks) inside your Vite config's [`build.rollupOptions`](https://vite.dev/config/build-options.html#build-rollupoptions).
508
+ *
509
+ * If you want to inline your assets, you'll need to set Vite's [`build.assetsInlineLimit`](https://vite.dev/config/build-options.html#build-assetsinlinelimit) option to an appropriate size then import your assets through Vite.
510
+ *
511
+ * ```js
512
+ * /// file: vite.config.js
513
+ * import { sveltekit } from '@sveltejs/kit/vite';
514
+ * import { defineConfig } from 'vite';
515
+ *
516
+ * export default defineConfig({
517
+ * plugins: [sveltekit()],
518
+ * build: {
519
+ * // inline all imported assets
520
+ * assetsInlineLimit: Infinity
521
+ * }
522
+ * });
523
+ * ```
524
+ *
525
+ * ```svelte
526
+ * /// file: src/routes/+layout.svelte
527
+ * <script>
528
+ * // import the asset through Vite
529
+ * import favicon from './favicon.png';
530
+ * </script>
531
+ *
532
+ * <svelte:head>
533
+ * <!-- this asset will be inlined as a base64 URL -->
534
+ * <link rel="icon" href={favicon} />
535
+ * </svelte:head>
536
+ * ```
507
537
  * @default 'split'
508
538
  * @since 2.13.0
509
539
  */
@@ -2,7 +2,7 @@ import fs from 'node:fs';
2
2
  import * as vite from 'vite';
3
3
  import { dedent } from '../../../core/sync/utils.js';
4
4
  import { s } from '../../../utils/misc.js';
5
- import { get_config_aliases, strip_virtual_prefix, get_env } from '../utils.js';
5
+ import { get_config_aliases, strip_virtual_prefix, get_env, normalize_id } from '../utils.js';
6
6
  import { create_static_module } from '../../../core/env.js';
7
7
  import { env_static_public, service_worker } from '../module_ids.js';
8
8
 
@@ -68,7 +68,8 @@ export async function build_service_worker(
68
68
  name: 'service-worker-build-virtual-modules',
69
69
  resolveId(id) {
70
70
  if (id.startsWith('$env/') || id.startsWith('$app/') || id === '$service-worker') {
71
- return `\0virtual:${id}`;
71
+ // ids with :$ don't work with reverse proxies like nginx
72
+ return `\0virtual:${id.substring(1)}`;
72
73
  }
73
74
  },
74
75
 
@@ -83,7 +84,10 @@ export async function build_service_worker(
83
84
  return create_static_module('$env/static/public', env.public);
84
85
  }
85
86
 
86
- const stripped = strip_virtual_prefix(id);
87
+ const normalized_cwd = vite.normalizePath(process.cwd());
88
+ const normalized_lib = vite.normalizePath(kit.files.lib);
89
+ const relative = normalize_id(id, normalized_lib, normalized_cwd);
90
+ const stripped = strip_virtual_prefix(relative);
87
91
  throw new Error(
88
92
  `Cannot import ${stripped} into service-worker code. Only the modules $service-worker and $env/static/public are available in service workers.`
89
93
  );
@@ -1,6 +1,6 @@
1
1
  import path from 'node:path';
2
2
  import { posixify } from '../../../utils/filesystem.js';
3
- import { strip_virtual_prefix } from '../utils.js';
3
+ import { normalize_id, strip_virtual_prefix } from '../utils.js';
4
4
  import { app_server, env_dynamic_private, env_static_private } from '../module_ids.js';
5
5
 
6
6
  const ILLEGAL_IMPORTS = new Set([env_dynamic_private, env_static_private, app_server]);
@@ -85,25 +85,3 @@ export function module_guard(context, { cwd, lib }) {
85
85
  }
86
86
  };
87
87
  }
88
-
89
- /**
90
- * Removes cwd/lib path from the start of the id
91
- * @param {string} id
92
- * @param {string} lib
93
- * @param {string} cwd
94
- */
95
- export function normalize_id(id, lib, cwd) {
96
- if (id.startsWith(lib)) {
97
- id = id.replace(lib, '$lib');
98
- }
99
-
100
- if (id.startsWith(cwd)) {
101
- id = path.relative(cwd, id);
102
- }
103
-
104
- if (id === app_server) {
105
- return '$app/server';
106
- }
107
-
108
- return posixify(id);
109
- }
@@ -15,9 +15,9 @@ import { build_server_nodes } from './build/build_server.js';
15
15
  import { build_service_worker } from './build/build_service_worker.js';
16
16
  import { assets_base, find_deps } from './build/utils.js';
17
17
  import { dev } from './dev/index.js';
18
- import { is_illegal, module_guard, normalize_id } from './graph_analysis/index.js';
18
+ import { is_illegal, module_guard } from './graph_analysis/index.js';
19
19
  import { preview } from './preview/index.js';
20
- import { get_config_aliases, get_env, strip_virtual_prefix } from './utils.js';
20
+ import { get_config_aliases, get_env, normalize_id, strip_virtual_prefix } from './utils.js';
21
21
  import { write_client_manifest } from '../../core/sync/write_client_manifest.js';
22
22
  import prerender from '../../core/postbuild/prerender.js';
23
23
  import analyse from '../../core/postbuild/analyse.js';
@@ -376,8 +376,14 @@ async function kit({ svelte_config }) {
376
376
  parsed_importer.name === parsed_service_worker.name;
377
377
 
378
378
  if (importer_is_service_worker && id !== '$service-worker' && id !== '$env/static/public') {
379
+ const normalized_cwd = vite.normalizePath(cwd);
380
+ const normalized_lib = vite.normalizePath(kit.files.lib);
379
381
  throw new Error(
380
- `Cannot import ${id} into service-worker code. Only the modules $service-worker and $env/static/public are available in service workers.`
382
+ `Cannot import ${normalize_id(
383
+ id,
384
+ normalized_lib,
385
+ normalized_cwd
386
+ )} into service-worker code. Only the modules $service-worker and $env/static/public are available in service workers.`
381
387
  );
382
388
  }
383
389
 
@@ -385,7 +391,11 @@ async function kit({ svelte_config }) {
385
391
  }
386
392
 
387
393
  // treat $env/static/[public|private] as virtual
388
- if (id.startsWith('$env/') || id.startsWith('__sveltekit/') || id === '$service-worker') {
394
+ if (id.startsWith('$env/') || id === '$service-worker') {
395
+ // ids with :$ don't work with reverse proxies like nginx
396
+ return `\0virtual:${id.substring(1)}`;
397
+ }
398
+ if (id.startsWith('__sveltekit/')) {
389
399
  return `\0virtual:${id}`;
390
400
  }
391
401
  },
@@ -1,11 +1,11 @@
1
1
  import { fileURLToPath } from 'node:url';
2
2
 
3
- export const env_static_private = '\0virtual:$env/static/private';
4
- export const env_static_public = '\0virtual:$env/static/public';
5
- export const env_dynamic_private = '\0virtual:$env/dynamic/private';
6
- export const env_dynamic_public = '\0virtual:$env/dynamic/public';
3
+ export const env_static_private = '\0virtual:env/static/private';
4
+ export const env_static_public = '\0virtual:env/static/public';
5
+ export const env_dynamic_private = '\0virtual:env/dynamic/private';
6
+ export const env_dynamic_public = '\0virtual:env/dynamic/public';
7
7
 
8
- export const service_worker = '\0virtual:$service-worker';
8
+ export const service_worker = '\0virtual:service-worker';
9
9
 
10
10
  export const sveltekit_environment = '\0virtual:__sveltekit/environment';
11
11
  export const sveltekit_paths = '\0virtual:__sveltekit/paths';
@@ -4,6 +4,14 @@ import { posixify } from '../../utils/filesystem.js';
4
4
  import { negotiate } from '../../utils/http.js';
5
5
  import { filter_private_env, filter_public_env } from '../../utils/env.js';
6
6
  import { escape_html } from '../../utils/escape.js';
7
+ import {
8
+ app_server,
9
+ env_dynamic_private,
10
+ env_dynamic_public,
11
+ env_static_private,
12
+ env_static_public,
13
+ service_worker
14
+ } from './module_ids.js';
7
15
 
8
16
  /**
9
17
  * Transforms kit.alias to a valid vite.resolve.alias array.
@@ -105,4 +113,46 @@ export function not_found(req, res, base) {
105
113
  }
106
114
  }
107
115
 
116
+ /**
117
+ * Removes cwd/lib path from the start of the id
118
+ * @param {string} id
119
+ * @param {string} lib
120
+ * @param {string} cwd
121
+ */
122
+ export function normalize_id(id, lib, cwd) {
123
+ if (id.startsWith(lib)) {
124
+ id = id.replace(lib, '$lib');
125
+ }
126
+
127
+ if (id.startsWith(cwd)) {
128
+ id = path.relative(cwd, id);
129
+ }
130
+
131
+ if (id === app_server) {
132
+ return '$app/server';
133
+ }
134
+
135
+ if (id === env_static_private) {
136
+ return '$env/static/private';
137
+ }
138
+
139
+ if (id === env_static_public) {
140
+ return '$env/static/public';
141
+ }
142
+
143
+ if (id === env_dynamic_private) {
144
+ return '$env/dynamic/private';
145
+ }
146
+
147
+ if (id === env_dynamic_public) {
148
+ return '$env/dynamic/public';
149
+ }
150
+
151
+ if (id === service_worker) {
152
+ return '$service-worker';
153
+ }
154
+
155
+ return posixify(id);
156
+ }
157
+
108
158
  export const strip_virtual_prefix = /** @param {string} id */ (id) => id.replace('\0virtual:', '');
@@ -1153,32 +1153,41 @@ async function load_root_error_page({ status, error, url, route }) {
1153
1153
  }
1154
1154
  }
1155
1155
 
1156
- const root_layout = await load_node({
1157
- loader: default_layout_loader,
1158
- url,
1159
- params,
1160
- route,
1161
- parent: () => Promise.resolve({}),
1162
- server_data_node: create_data_node(server_data_node)
1163
- });
1156
+ try {
1157
+ const root_layout = await load_node({
1158
+ loader: default_layout_loader,
1159
+ url,
1160
+ params,
1161
+ route,
1162
+ parent: () => Promise.resolve({}),
1163
+ server_data_node: create_data_node(server_data_node)
1164
+ });
1164
1165
 
1165
- /** @type {import('./types.js').BranchNode} */
1166
- const root_error = {
1167
- node: await default_error_loader(),
1168
- loader: default_error_loader,
1169
- universal: null,
1170
- server: null,
1171
- data: null
1172
- };
1166
+ /** @type {import('./types.js').BranchNode} */
1167
+ const root_error = {
1168
+ node: await default_error_loader(),
1169
+ loader: default_error_loader,
1170
+ universal: null,
1171
+ server: null,
1172
+ data: null
1173
+ };
1173
1174
 
1174
- return get_navigation_result_from_branch({
1175
- url,
1176
- params,
1177
- branch: [root_layout, root_error],
1178
- status,
1179
- error,
1180
- route: null
1181
- });
1175
+ return get_navigation_result_from_branch({
1176
+ url,
1177
+ params,
1178
+ branch: [root_layout, root_error],
1179
+ status,
1180
+ error,
1181
+ route: null
1182
+ });
1183
+ } catch (error) {
1184
+ if (error instanceof Redirect) {
1185
+ return _goto(new URL(error.location, location.href), {}, 0);
1186
+ }
1187
+
1188
+ // TODO: this falls back to the server when a server exists, but what about SPA mode?
1189
+ throw error;
1190
+ }
1182
1191
  }
1183
1192
 
1184
1193
  /**
@@ -2321,7 +2330,7 @@ function _start_router() {
2321
2330
  const state = event.state[STATES_KEY] ?? {};
2322
2331
  const url = new URL(event.state[PAGE_URL_KEY] ?? location.href);
2323
2332
  const navigation_index = event.state[NAVIGATION_INDEX];
2324
- const is_hash_change = strip_hash(location) === strip_hash(current.url);
2333
+ const is_hash_change = current.url ? strip_hash(location) === strip_hash(current.url) : false;
2325
2334
  const shallow =
2326
2335
  navigation_index === current_navigation_index && (has_navigated || is_hash_change);
2327
2336
 
@@ -1,5 +1,4 @@
1
- // @ts-ignore - need to publish types for sub-package imports
2
- import BROWSER from 'esm-env/browser';
1
+ import { BROWSER } from 'esm-env';
3
2
 
4
3
  const param_pattern = /^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;
5
4
 
package/src/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // generated during release, do not modify
2
2
 
3
3
  /** @type {string} */
4
- export const VERSION = '2.15.2';
4
+ export const VERSION = '2.15.3';
package/types/index.d.ts CHANGED
@@ -481,11 +481,41 @@ declare module '@sveltejs/kit' {
481
481
  */
482
482
  preloadStrategy?: 'modulepreload' | 'preload-js' | 'preload-mjs';
483
483
  /**
484
+ * The bundle strategy option affects how your app's JavaScript and CSS files are loaded.
484
485
  * - If `'split'`, splits the app up into multiple .js/.css files so that they are loaded lazily as the user navigates around the app. This is the default, and is recommended for most scenarios.
485
486
  * - If `'single'`, creates just one .js bundle and one .css file containing code for the entire app.
486
487
  * - If `'inline'`, inlines all JavaScript and CSS of the entire app into the HTML. The result is usable without a server (i.e. you can just open the file in your browser).
487
488
  *
488
- * When using `'split'`, you can also adjust the bundling behaviour by setting [`output.experimentalMinChunkSize`](https://rollupjs.org/configuration-options/#output-experimentalminchunksize) and [`output.manualChunks`](https://rollupjs.org/configuration-options/#output-manualchunks)inside your Vite config's [`build.rollupOptions`](https://vite.dev/config/build-options.html#build-rollupoptions).
489
+ * When using `'split'`, you can also adjust the bundling behaviour by setting [`output.experimentalMinChunkSize`](https://rollupjs.org/configuration-options/#output-experimentalminchunksize) and [`output.manualChunks`](https://rollupjs.org/configuration-options/#output-manualchunks) inside your Vite config's [`build.rollupOptions`](https://vite.dev/config/build-options.html#build-rollupoptions).
490
+ *
491
+ * If you want to inline your assets, you'll need to set Vite's [`build.assetsInlineLimit`](https://vite.dev/config/build-options.html#build-assetsinlinelimit) option to an appropriate size then import your assets through Vite.
492
+ *
493
+ * ```js
494
+ * /// file: vite.config.js
495
+ * import { sveltekit } from '@sveltejs/kit/vite';
496
+ * import { defineConfig } from 'vite';
497
+ *
498
+ * export default defineConfig({
499
+ * plugins: [sveltekit()],
500
+ * build: {
501
+ * // inline all imported assets
502
+ * assetsInlineLimit: Infinity
503
+ * }
504
+ * });
505
+ * ```
506
+ *
507
+ * ```svelte
508
+ * /// file: src/routes/+layout.svelte
509
+ * <script>
510
+ * // import the asset through Vite
511
+ * import favicon from './favicon.png';
512
+ * </script>
513
+ *
514
+ * <svelte:head>
515
+ * <!-- this asset will be inlined as a base64 URL -->
516
+ * <link rel="icon" href={favicon} />
517
+ * </svelte:head>
518
+ * ```
489
519
  * @default 'split'
490
520
  * @since 2.13.0
491
521
  */
@@ -159,6 +159,6 @@
159
159
  null,
160
160
  null
161
161
  ],
162
- "mappings": "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",
162
+ "mappings": "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",
163
163
  "ignoreList": []
164
164
  }