@sveltejs/kit 2.15.0 → 2.15.2

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.0",
3
+ "version": "2.15.2",
4
4
  "description": "SvelteKit is the fastest way to build Svelte apps",
5
5
  "keywords": [
6
6
  "framework",
@@ -11,7 +11,7 @@ import {
11
11
  import { BROWSER } from 'esm-env';
12
12
 
13
13
  /**
14
- * A reactive object with information about the current page, serving several use cases:
14
+ * A read-only reactive object with information about the current page, serving several use cases:
15
15
  * - retrieving the combined `data` of all pages/layouts anywhere in your component tree (also see [loading data](https://svelte.dev/docs/kit/load))
16
16
  * - retrieving the current value of the `form` prop anywhere in your component tree (also see [form actions](https://svelte.dev/docs/kit/form-actions))
17
17
  * - retrieving the page state that was set through `goto`, `pushState` or `replaceState` (also see [goto](https://svelte.dev/docs/kit/$app-navigation#goto) and [shallow routing](https://svelte.dev/docs/kit/shallow-routing))
@@ -39,7 +39,7 @@ import { BROWSER } from 'esm-env';
39
39
  export const page = BROWSER ? client_page : server_page;
40
40
 
41
41
  /**
42
- * An object representing an in-progress navigation, with `from`, `to`, `type` and (if `type === 'popstate'`) `delta` properties.
42
+ * A read-only object representing an in-progress navigation, with `from`, `to`, `type` and (if `type === 'popstate'`) `delta` properties.
43
43
  * Values are `null` when no navigation is occurring, or during server rendering.
44
44
  * @type {import('@sveltejs/kit').Navigation | { from: null, to: null, type: null, willUnload: null, delta: null, complete: null }}
45
45
  */
@@ -47,7 +47,7 @@ export const page = BROWSER ? client_page : server_page;
47
47
  export const navigating = BROWSER ? client_navigating : server_navigating;
48
48
 
49
49
  /**
50
- * A reactive value that's initially `false`. If [`version.pollInterval`](https://svelte.dev/docs/kit/configuration#version) is a non-zero value, SvelteKit will poll for new versions of the app and update `current` to `true` when it detects one. `updated.check()` will force an immediate check, regardless of polling.
50
+ * A read-only reactive value that's initially `false`. If [`version.pollInterval`](https://svelte.dev/docs/kit/configuration#version) is a non-zero value, SvelteKit will poll for new versions of the app and update `current` to `true` when it detects one. `updated.check()` will force an immediate check, regardless of polling.
51
51
  * @type {{ get current(): boolean; check(): Promise<boolean>; }}
52
52
  */
53
53
  export const updated = BROWSER ? client_updated : server_updated;
@@ -191,14 +191,18 @@ const components = [];
191
191
  /** @type {{id: string, token: {}, promise: Promise<import('./types.js').NavigationResult>} | null} */
192
192
  let load_cache = null;
193
193
 
194
- /** @type {Array<(navigation: import('@sveltejs/kit').BeforeNavigate) => void>} */
195
- const before_navigate_callbacks = [];
194
+ /**
195
+ * Note on before_navigate_callbacks, on_navigate_callbacks and after_navigate_callbacks:
196
+ * do not re-assign as some closures keep references to these Sets
197
+ */
198
+ /** @type {Set<(navigation: import('@sveltejs/kit').BeforeNavigate) => void>} */
199
+ const before_navigate_callbacks = new Set();
196
200
 
197
- /** @type {Array<(navigation: import('@sveltejs/kit').OnNavigate) => import('types').MaybePromise<(() => void) | void>>} */
198
- const on_navigate_callbacks = [];
201
+ /** @type {Set<(navigation: import('@sveltejs/kit').OnNavigate) => import('types').MaybePromise<(() => void) | void>>} */
202
+ const on_navigate_callbacks = new Set();
199
203
 
200
- /** @type {Array<(navigation: import('@sveltejs/kit').AfterNavigate) => void>} */
201
- let after_navigate_callbacks = [];
204
+ /** @type {Set<(navigation: import('@sveltejs/kit').AfterNavigate) => void>} */
205
+ const after_navigate_callbacks = new Set();
202
206
 
203
207
  /** @type {import('./types.js').NavigationState} */
204
208
  let current = {
@@ -520,7 +524,7 @@ function get_navigation_result_from_branch({ url, params, branch, status, error,
520
524
  props: {
521
525
  // @ts-ignore Somehow it's getting SvelteComponent and SvelteComponentDev mixed up
522
526
  constructors: compact(branch).map((branch_node) => branch_node.node.component),
523
- page
527
+ page: clone_page(page)
524
528
  }
525
529
  };
526
530
 
@@ -861,7 +865,10 @@ function preload_error({ error, url, route, params }) {
861
865
  params,
862
866
  branch: []
863
867
  },
864
- props: { page, constructors: [] }
868
+ props: {
869
+ page: clone_page(page),
870
+ constructors: []
871
+ }
865
872
  };
866
873
  }
867
874
 
@@ -1460,7 +1467,7 @@ async function navigate({
1460
1467
 
1461
1468
  const after_navigate = (
1462
1469
  await Promise.all(
1463
- on_navigate_callbacks.map((fn) =>
1470
+ Array.from(on_navigate_callbacks, (fn) =>
1464
1471
  fn(/** @type {import('@sveltejs/kit').OnNavigate} */ (nav.navigation))
1465
1472
  )
1466
1473
  )
@@ -1468,14 +1475,16 @@ async function navigate({
1468
1475
 
1469
1476
  if (after_navigate.length > 0) {
1470
1477
  function cleanup() {
1471
- after_navigate_callbacks = after_navigate_callbacks.filter(
1472
- // @ts-ignore
1473
- (fn) => !after_navigate.includes(fn)
1474
- );
1478
+ after_navigate.forEach((fn) => {
1479
+ after_navigate_callbacks.delete(fn);
1480
+ });
1475
1481
  }
1476
1482
 
1477
1483
  after_navigate.push(cleanup);
1478
- after_navigate_callbacks.push(...after_navigate);
1484
+
1485
+ after_navigate.forEach((fn) => {
1486
+ after_navigate_callbacks.add(fn);
1487
+ });
1479
1488
  }
1480
1489
 
1481
1490
  root.$set(navigation_result.props);
@@ -1677,7 +1686,7 @@ function setup_preload() {
1677
1686
  }
1678
1687
  }
1679
1688
 
1680
- after_navigate_callbacks.push(after_navigate);
1689
+ after_navigate_callbacks.add(after_navigate);
1681
1690
  after_navigate();
1682
1691
  }
1683
1692
 
@@ -1706,22 +1715,21 @@ function handle_error(error, event) {
1706
1715
 
1707
1716
  /**
1708
1717
  * @template {Function} T
1709
- * @param {T[]} callbacks
1718
+ * @param {Set<T>} callbacks
1710
1719
  * @param {T} callback
1711
1720
  */
1712
1721
  function add_navigation_callback(callbacks, callback) {
1713
1722
  onMount(() => {
1714
- callbacks.push(callback);
1723
+ callbacks.add(callback);
1715
1724
 
1716
1725
  return () => {
1717
- const i = callbacks.indexOf(callback);
1718
- callbacks.splice(i, 1);
1726
+ callbacks.delete(callback);
1719
1727
  };
1720
1728
  });
1721
1729
  }
1722
1730
 
1723
1731
  /**
1724
- * A lifecycle function that runs the supplied `callback` when the current component mounts, and also whenever we navigate to a new URL.
1732
+ * A lifecycle function that runs the supplied `callback` when the current component mounts, and also whenever we navigate to a URL.
1725
1733
  *
1726
1734
  * `afterNavigate` must be called during a component initialization. It remains active as long as the component is mounted.
1727
1735
  * @param {(navigation: import('@sveltejs/kit').AfterNavigate) => void} callback
@@ -1972,7 +1980,10 @@ export function pushState(url, state) {
1972
1980
  has_navigated = true;
1973
1981
 
1974
1982
  page.state = state;
1975
- root.$set({ page });
1983
+ root.$set({
1984
+ // we need to assign a new page object so that subscribers are correctly notified
1985
+ page: clone_page(page)
1986
+ });
1976
1987
 
1977
1988
  clear_onward_history(current_history_index, current_navigation_index);
1978
1989
  }
@@ -2013,7 +2024,9 @@ export function replaceState(url, state) {
2013
2024
  history.replaceState(opts, '', resolve_url(url));
2014
2025
 
2015
2026
  page.state = state;
2016
- root.$set({ page });
2027
+ root.$set({
2028
+ page: clone_page(page)
2029
+ });
2017
2030
  }
2018
2031
 
2019
2032
  /**
@@ -2064,7 +2077,7 @@ export async function applyAction(result) {
2064
2077
  // this brings Svelte's view of the world in line with SvelteKit's
2065
2078
  // after use:enhance reset the form....
2066
2079
  form: null,
2067
- page
2080
+ page: clone_page(page)
2068
2081
  });
2069
2082
 
2070
2083
  // ...so that setting the `form` prop takes effect and isn't ignored
@@ -2317,16 +2330,15 @@ function _start_router() {
2317
2330
  // This happens with hash links and `pushState`/`replaceState`. The
2318
2331
  // exception is if we haven't navigated yet, since we could have
2319
2332
  // got here after a modal navigation then a reload
2333
+ if (state !== page.state) {
2334
+ page.state = state;
2335
+ }
2336
+
2320
2337
  update_url(url);
2321
2338
 
2322
2339
  scroll_positions[current_history_index] = scroll_state();
2323
2340
  if (scroll) scrollTo(scroll.x, scroll.y);
2324
2341
 
2325
- if (state !== page.state) {
2326
- page.state = state;
2327
- root.$set({ page });
2328
- }
2329
-
2330
2342
  current_history_index = history_index;
2331
2343
  return;
2332
2344
  }
@@ -2409,16 +2421,7 @@ function _start_router() {
2409
2421
  */
2410
2422
  function update_url(url) {
2411
2423
  current.url = page.url = url;
2412
- stores.page.set({
2413
- data: page.data,
2414
- error: page.error,
2415
- form: page.form,
2416
- params: page.params,
2417
- route: page.route,
2418
- state: page.state,
2419
- status: page.status,
2420
- url
2421
- });
2424
+ stores.page.set(clone_page(page));
2422
2425
  stores.page.notify();
2423
2426
  }
2424
2427
  }
@@ -2759,6 +2762,28 @@ function create_navigation(current, intent, url, type) {
2759
2762
  };
2760
2763
  }
2761
2764
 
2765
+ /**
2766
+ * TODO: remove this in 3.0 when the page store is also removed
2767
+ *
2768
+ * We need to assign a new page object so that subscribers are correctly notified.
2769
+ * However, spreading `{ ...page }` returns an empty object so we manually
2770
+ * assign to each property instead.
2771
+ *
2772
+ * @param {import('@sveltejs/kit').Page} page
2773
+ */
2774
+ function clone_page(page) {
2775
+ return {
2776
+ data: page.data,
2777
+ error: page.error,
2778
+ form: page.form,
2779
+ params: page.params,
2780
+ route: page.route,
2781
+ state: page.state,
2782
+ status: page.status,
2783
+ url: page.url
2784
+ };
2785
+ }
2786
+
2762
2787
  if (DEV) {
2763
2788
  // Nasty hack to silence harmless warnings the user can do nothing about
2764
2789
  const console_warn = console.warn;
@@ -186,10 +186,6 @@ class BaseProvider {
186
186
  this.#style_src.push(source);
187
187
  }
188
188
 
189
- if (this.#style_src_needs_csp) {
190
- this.#style_src.push(source);
191
- }
192
-
193
189
  if (this.#style_src_attr_needs_csp) {
194
190
  this.#style_src_attr.push(source);
195
191
  }
@@ -70,7 +70,10 @@ export async function render_page(event, page, options, manifest, state, resolve
70
70
  }
71
71
  }
72
72
 
73
- const should_prerender_data = nodes.some((node) => node?.server?.load);
73
+ const should_prerender_data = nodes.some(
74
+ // prerender in case of trailingSlash because the client retrieves that value from the server
75
+ (node) => node?.server?.load || node?.server?.trailingSlash !== undefined
76
+ );
74
77
  const data_pathname = add_data_suffix(event.url.pathname);
75
78
 
76
79
  // it's crucial that we do this before returning the non-SSR response, otherwise
@@ -228,19 +228,18 @@ export async function render_response({
228
228
  return `${assets}/${path}`;
229
229
  };
230
230
 
231
- if (client.inline?.style) {
232
- head += `\n\t<style>${client.inline.style}</style>`;
233
- }
234
-
235
- if (inline_styles.size > 0) {
236
- const content = Array.from(inline_styles.values()).join('\n');
231
+ // inline styles can come from `bundleStrategy: 'inline'` or `inlineStyleThreshold`
232
+ const style = client.inline
233
+ ? client.inline?.style
234
+ : Array.from(inline_styles.values()).join('\n');
237
235
 
236
+ if (style) {
238
237
  const attributes = __SVELTEKIT_DEV__ ? [' data-sveltekit'] : [];
239
238
  if (csp.style_needs_nonce) attributes.push(` nonce="${csp.nonce}"`);
240
239
 
241
- csp.add_style(content);
240
+ csp.add_style(style);
242
241
 
243
- head += `\n\t<style${attributes.join('')}>${content}</style>`;
242
+ head += `\n\t<style${attributes.join('')}>${style}</style>`;
244
243
  }
245
244
 
246
245
  for (const dep of stylesheets) {
@@ -1,4 +1,5 @@
1
- import { BROWSER } from 'esm-env';
1
+ // @ts-ignore - need to publish types for sub-package imports
2
+ import BROWSER from 'esm-env/browser';
2
3
 
3
4
  const param_pattern = /^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;
4
5
 
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.0';
4
+ export const VERSION = '2.15.2';
package/types/index.d.ts CHANGED
@@ -2123,7 +2123,7 @@ declare module '$app/forms' {
2123
2123
 
2124
2124
  declare module '$app/navigation' {
2125
2125
  /**
2126
- * A lifecycle function that runs the supplied `callback` when the current component mounts, and also whenever we navigate to a new URL.
2126
+ * A lifecycle function that runs the supplied `callback` when the current component mounts, and also whenever we navigate to a URL.
2127
2127
  *
2128
2128
  * `afterNavigate` must be called during a component initialization. It remains active as long as the component is mounted.
2129
2129
  * */
@@ -2293,7 +2293,7 @@ declare module '$app/server' {
2293
2293
 
2294
2294
  declare module '$app/state' {
2295
2295
  /**
2296
- * A reactive object with information about the current page, serving several use cases:
2296
+ * A read-only reactive object with information about the current page, serving several use cases:
2297
2297
  * - retrieving the combined `data` of all pages/layouts anywhere in your component tree (also see [loading data](https://svelte.dev/docs/kit/load))
2298
2298
  * - retrieving the current value of the `form` prop anywhere in your component tree (also see [form actions](https://svelte.dev/docs/kit/form-actions))
2299
2299
  * - retrieving the page state that was set through `goto`, `pushState` or `replaceState` (also see [goto](https://svelte.dev/docs/kit/$app-navigation#goto) and [shallow routing](https://svelte.dev/docs/kit/shallow-routing))
@@ -2319,7 +2319,7 @@ declare module '$app/state' {
2319
2319
  * */
2320
2320
  export const page: import("@sveltejs/kit").Page;
2321
2321
  /**
2322
- * An object representing an in-progress navigation, with `from`, `to`, `type` and (if `type === 'popstate'`) `delta` properties.
2322
+ * A read-only object representing an in-progress navigation, with `from`, `to`, `type` and (if `type === 'popstate'`) `delta` properties.
2323
2323
  * Values are `null` when no navigation is occurring, or during server rendering.
2324
2324
  * */
2325
2325
  export const navigating: import("@sveltejs/kit").Navigation | {
@@ -2331,7 +2331,7 @@ declare module '$app/state' {
2331
2331
  complete: null;
2332
2332
  };
2333
2333
  /**
2334
- * A reactive value that's initially `false`. If [`version.pollInterval`](https://svelte.dev/docs/kit/configuration#version) is a non-zero value, SvelteKit will poll for new versions of the app and update `current` to `true` when it detects one. `updated.check()` will force an immediate check, regardless of polling.
2334
+ * A read-only reactive value that's initially `false`. If [`version.pollInterval`](https://svelte.dev/docs/kit/configuration#version) is a non-zero value, SvelteKit will poll for new versions of the app and update `current` to `true` when it detects one. `updated.check()` will force an immediate check, regardless of polling.
2335
2335
  * */
2336
2336
  export const updated: {
2337
2337
  get current(): boolean;
@@ -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
  }