svelte 5.55.4 → 5.55.6
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/compiler/index.js +1 -1
- package/elements.d.ts +3 -3
- package/package.json +1 -1
- package/src/compiler/phases/1-parse/read/style.js +15 -0
- package/src/compiler/phases/3-transform/client/visitors/DebugTag.js +10 -4
- package/src/compiler/phases/3-transform/server/visitors/Component.js +5 -1
- package/src/compiler/phases/3-transform/server/visitors/DebugTag.js +21 -10
- package/src/compiler/phases/3-transform/server/visitors/shared/utils.js +2 -2
- package/src/internal/client/constants.js +2 -1
- package/src/internal/client/dev/inspect.js +2 -0
- package/src/internal/client/dom/blocks/async.js +1 -5
- package/src/internal/client/dom/blocks/boundary.js +4 -5
- package/src/internal/client/dom/blocks/svelte-head.js +6 -5
- package/src/internal/client/dom/elements/attributes.js +1 -1
- package/src/internal/client/dom/elements/bindings/this.js +1 -1
- package/src/internal/client/dom/elements/events.js +2 -2
- package/src/internal/client/dom/elements/transitions.js +47 -21
- package/src/internal/client/reactivity/async.js +34 -16
- package/src/internal/client/reactivity/batch.js +294 -127
- package/src/internal/client/reactivity/deriveds.js +30 -29
- package/src/internal/client/reactivity/effects.js +1 -9
- package/src/internal/client/reactivity/props.js +7 -1
- package/src/internal/client/reactivity/sources.js +26 -12
- package/src/internal/server/renderer.js +6 -1
- package/src/version.js +1 -1
- package/types/index.d.ts +2 -0
- package/types/index.d.ts.map +1 -1
|
@@ -43,7 +43,7 @@ import { get_error } from '../../shared/dev.js';
|
|
|
43
43
|
import { async_mode_flag, tracing_mode_flag } from '../../flags/index.js';
|
|
44
44
|
import { component_context } from '../context.js';
|
|
45
45
|
import { UNINITIALIZED } from '../../../constants.js';
|
|
46
|
-
import { batch_values, current_batch } from './batch.js';
|
|
46
|
+
import { batch_values, current_batch, previous_batch } from './batch.js';
|
|
47
47
|
import { increment_pending, unset_context } from './async.js';
|
|
48
48
|
import { deferred, includes, noop } from '../../shared/utils.js';
|
|
49
49
|
import { set_signal_status, update_derived_status } from './status.js';
|
|
@@ -100,6 +100,8 @@ export function derived(fn) {
|
|
|
100
100
|
return signal;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
+
export const OBSOLETE = Symbol('obsolete');
|
|
104
|
+
|
|
103
105
|
/**
|
|
104
106
|
* @template V
|
|
105
107
|
* @param {() => V | Promise<V>} fn
|
|
@@ -118,13 +120,13 @@ export function async_derived(fn, label, location) {
|
|
|
118
120
|
var promise = /** @type {Promise<V>} */ (/** @type {unknown} */ (undefined));
|
|
119
121
|
var signal = source(/** @type {V} */ (UNINITIALIZED));
|
|
120
122
|
|
|
121
|
-
if (DEV) signal.label = label;
|
|
123
|
+
if (DEV) signal.label = label ?? fn.toString();
|
|
122
124
|
|
|
123
125
|
// only suspend in async deriveds created on initialisation
|
|
124
126
|
var should_suspend = !active_reaction;
|
|
125
127
|
|
|
126
|
-
/** @type {
|
|
127
|
-
var deferreds = new
|
|
128
|
+
/** @type {Set<ReturnType<typeof deferred<V>>>} */
|
|
129
|
+
var deferreds = new Set();
|
|
128
130
|
|
|
129
131
|
async_effect(() => {
|
|
130
132
|
var effect = /** @type {Effect} */ (active_effect);
|
|
@@ -141,7 +143,13 @@ export function async_derived(fn, label, location) {
|
|
|
141
143
|
// If this code is changed at some point, make sure to still access the then property
|
|
142
144
|
// of fn() to read any signals it might access, so that we track them as dependencies.
|
|
143
145
|
// We call `unset_context` to undo any `save` calls that happen inside `fn()`
|
|
144
|
-
Promise.resolve(fn())
|
|
146
|
+
Promise.resolve(fn())
|
|
147
|
+
.then(d.resolve, (e) => {
|
|
148
|
+
// if the promise was rejected by the user, via `getAbortSignal`, then
|
|
149
|
+
// wait for a subsequent resolution instead of flushing the batch
|
|
150
|
+
if (e !== STALE_REACTION) d.reject(e);
|
|
151
|
+
})
|
|
152
|
+
.finally(unset_context);
|
|
145
153
|
} catch (error) {
|
|
146
154
|
d.reject(error);
|
|
147
155
|
unset_context();
|
|
@@ -180,18 +188,17 @@ export function async_derived(fn, label, location) {
|
|
|
180
188
|
}
|
|
181
189
|
|
|
182
190
|
if (/** @type {Boundary} */ (parent.b).is_rendered()) {
|
|
183
|
-
|
|
184
|
-
deferreds.delete(batch); // delete to ensure correct order in Map iteration below
|
|
191
|
+
batch.async_deriveds.get(effect)?.reject(OBSOLETE);
|
|
185
192
|
} else {
|
|
186
193
|
// While the boundary is still showing pending, a new run supersedes all older in-flight runs
|
|
187
194
|
// for this async expression. Cancel eagerly so resolution cannot commit stale values.
|
|
188
195
|
for (const d of deferreds.values()) {
|
|
189
|
-
d.reject(
|
|
196
|
+
d.reject(OBSOLETE);
|
|
190
197
|
}
|
|
191
|
-
deferreds.clear();
|
|
192
198
|
}
|
|
193
199
|
|
|
194
|
-
deferreds.
|
|
200
|
+
deferreds.add(d);
|
|
201
|
+
batch.async_deriveds.set(effect, d);
|
|
195
202
|
}
|
|
196
203
|
|
|
197
204
|
/**
|
|
@@ -203,16 +210,10 @@ export function async_derived(fn, label, location) {
|
|
|
203
210
|
reactivity_loss_tracker = null;
|
|
204
211
|
}
|
|
205
212
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
// the promise was superseded before it could resolve
|
|
209
|
-
var skip = error === STALE_REACTION;
|
|
210
|
-
decrement_pending(skip);
|
|
211
|
-
}
|
|
213
|
+
decrement_pending?.();
|
|
214
|
+
deferreds.delete(d);
|
|
212
215
|
|
|
213
|
-
if (error ===
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
+
if (error === OBSOLETE) return;
|
|
216
217
|
|
|
217
218
|
batch.activate();
|
|
218
219
|
|
|
@@ -228,18 +229,11 @@ export function async_derived(fn, label, location) {
|
|
|
228
229
|
|
|
229
230
|
internal_set(signal, value);
|
|
230
231
|
|
|
231
|
-
// All prior async derived runs are now stale
|
|
232
|
-
for (const [b, d] of deferreds) {
|
|
233
|
-
deferreds.delete(b);
|
|
234
|
-
if (b === batch) break;
|
|
235
|
-
d.reject(STALE_REACTION);
|
|
236
|
-
}
|
|
237
|
-
|
|
238
232
|
if (DEV && location !== undefined) {
|
|
239
233
|
recent_async_deriveds.add(signal);
|
|
240
234
|
|
|
241
235
|
setTimeout(() => {
|
|
242
|
-
if (recent_async_deriveds.has(signal)) {
|
|
236
|
+
if (recent_async_deriveds.has(signal) && (effect.f & DESTROYED) === 0) {
|
|
243
237
|
w.await_waterfall(/** @type {string} */ (signal.label), location);
|
|
244
238
|
recent_async_deriveds.delete(signal);
|
|
245
239
|
}
|
|
@@ -254,8 +248,8 @@ export function async_derived(fn, label, location) {
|
|
|
254
248
|
});
|
|
255
249
|
|
|
256
250
|
teardown(() => {
|
|
257
|
-
for (const d of deferreds
|
|
258
|
-
d.reject(
|
|
251
|
+
for (const d of deferreds) {
|
|
252
|
+
d.reject(OBSOLETE);
|
|
259
253
|
}
|
|
260
254
|
});
|
|
261
255
|
|
|
@@ -399,7 +393,14 @@ export function update_derived(derived) {
|
|
|
399
393
|
// change, `derived.equals` may incorrectly return `true`
|
|
400
394
|
if (!current_batch?.is_fork || derived.deps === null) {
|
|
401
395
|
if (current_batch !== null) {
|
|
396
|
+
// We also write to previous_batch because if it exists, it is a sign that we're
|
|
397
|
+
// currently in the process of flushing effects. These updates to deriveds may belong
|
|
398
|
+
// to the previous batch, not the new one (which can already exist if an earlier
|
|
399
|
+
// effect wrote to a source). This can cause bugs when running batch.#commit() later,
|
|
400
|
+
// but not adding it to current_batch can, too, so we add it to both.
|
|
401
|
+
// See https://github.com/sveltejs/svelte/pull/18117 for more details.
|
|
402
402
|
current_batch.capture(derived, value, true);
|
|
403
|
+
previous_batch?.capture(derived, value, true);
|
|
403
404
|
} else {
|
|
404
405
|
derived.v = value;
|
|
405
406
|
}
|
|
@@ -43,7 +43,7 @@ import { define_property } from '../../shared/utils.js';
|
|
|
43
43
|
import { get_next_sibling } from '../dom/operations.js';
|
|
44
44
|
import { component_context, dev_current_component_function, dev_stack } from '../context.js';
|
|
45
45
|
import { Batch, collected_effects, current_batch } from './batch.js';
|
|
46
|
-
import { flatten
|
|
46
|
+
import { flatten } from './async.js';
|
|
47
47
|
import { without_reactive_context } from '../dom/elements/bindings/shared.js';
|
|
48
48
|
import { set_signal_status } from './status.js';
|
|
49
49
|
|
|
@@ -396,16 +396,8 @@ export function template_effect(fn, sync = [], async = [], blockers = []) {
|
|
|
396
396
|
* @param {Blocker[]} blockers
|
|
397
397
|
*/
|
|
398
398
|
export function deferred_template_effect(fn, sync = [], async = [], blockers = []) {
|
|
399
|
-
if (async.length > 0 || blockers.length > 0) {
|
|
400
|
-
var decrement_pending = increment_pending();
|
|
401
|
-
}
|
|
402
|
-
|
|
403
399
|
flatten(blockers, sync, async, (values) => {
|
|
404
400
|
create_effect(EFFECT, () => fn(...values.map(get)));
|
|
405
|
-
|
|
406
|
-
if (decrement_pending) {
|
|
407
|
-
decrement_pending();
|
|
408
|
-
}
|
|
409
401
|
});
|
|
410
402
|
}
|
|
411
403
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @import { Effect, Source } from './types.js' */
|
|
1
|
+
/** @import { Derived, Effect, Source } from './types.js' */
|
|
2
2
|
import { DEV } from 'esm-env';
|
|
3
3
|
import {
|
|
4
4
|
PROPS_IS_BINDABLE,
|
|
@@ -283,8 +283,14 @@ export function prop(props, key, flags, fallback) {
|
|
|
283
283
|
|
|
284
284
|
var fallback_value = /** @type {V} */ (fallback);
|
|
285
285
|
var fallback_dirty = true;
|
|
286
|
+
var fallback_signal = /** @type {Derived<V> | undefined} */ (undefined);
|
|
286
287
|
|
|
287
288
|
var get_fallback = () => {
|
|
289
|
+
if (lazy && runes) {
|
|
290
|
+
fallback_signal ??= derived(/** @type {() => V} */ (fallback));
|
|
291
|
+
return get(fallback_signal);
|
|
292
|
+
}
|
|
293
|
+
|
|
288
294
|
if (fallback_dirty) {
|
|
289
295
|
fallback_dirty = false;
|
|
290
296
|
|
|
@@ -27,7 +27,8 @@ import {
|
|
|
27
27
|
ROOT_EFFECT,
|
|
28
28
|
ASYNC,
|
|
29
29
|
WAS_MARKED,
|
|
30
|
-
CONNECTED
|
|
30
|
+
CONNECTED,
|
|
31
|
+
REACTION_IS_UPDATING
|
|
31
32
|
} from '#client/constants';
|
|
32
33
|
import * as e from '../errors.js';
|
|
33
34
|
import { legacy_mode_flag, tracing_mode_flag } from '../../flags/index.js';
|
|
@@ -46,7 +47,7 @@ import { proxy } from '../proxy.js';
|
|
|
46
47
|
import { execute_derived } from './deriveds.js';
|
|
47
48
|
import { set_signal_status, update_derived_status } from './status.js';
|
|
48
49
|
|
|
49
|
-
/** @type {Set<
|
|
50
|
+
/** @type {Set<Effect>} */
|
|
50
51
|
export let eager_effects = new Set();
|
|
51
52
|
|
|
52
53
|
/** @type {Map<Source, any>} */
|
|
@@ -271,7 +272,18 @@ export function flush_eager_effects() {
|
|
|
271
272
|
set_signal_status(effect, MAYBE_DIRTY);
|
|
272
273
|
}
|
|
273
274
|
|
|
274
|
-
|
|
275
|
+
let dirty;
|
|
276
|
+
|
|
277
|
+
try {
|
|
278
|
+
dirty = is_dirty(effect);
|
|
279
|
+
} catch {
|
|
280
|
+
// Dirty-checking can evaluate derived dependencies and throw in cases where
|
|
281
|
+
// parent effects are about to destroy this eager effect. Run the effect so
|
|
282
|
+
// its own error handling can deal with transient failures.
|
|
283
|
+
dirty = true;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
if (dirty) {
|
|
275
287
|
update_effect(effect);
|
|
276
288
|
}
|
|
277
289
|
}
|
|
@@ -337,12 +349,6 @@ function mark_reactions(signal, status, updated_during_traversal) {
|
|
|
337
349
|
// In legacy mode, skip the current effect to prevent infinite loops
|
|
338
350
|
if (!runes && reaction === active_effect) continue;
|
|
339
351
|
|
|
340
|
-
// Inspect effects need to run immediately, so that the stack trace makes sense
|
|
341
|
-
if (DEV && (flags & EAGER_EFFECT) !== 0) {
|
|
342
|
-
eager_effects.add(reaction);
|
|
343
|
-
continue;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
352
|
var not_dirty = (flags & DIRTY) === 0;
|
|
347
353
|
|
|
348
354
|
// don't set a DIRTY reaction to MAYBE_DIRTY
|
|
@@ -350,14 +356,22 @@ function mark_reactions(signal, status, updated_during_traversal) {
|
|
|
350
356
|
set_signal_status(reaction, status);
|
|
351
357
|
}
|
|
352
358
|
|
|
353
|
-
if ((flags &
|
|
359
|
+
if ((flags & EAGER_EFFECT) !== 0) {
|
|
360
|
+
// Eager effects need to run immediately:
|
|
361
|
+
// - for $inspect so that the stack trace makes sense
|
|
362
|
+
// - for $state.eager because they might be without an effect parent
|
|
363
|
+
eager_effects.add(/** @type {Effect} */ (reaction));
|
|
364
|
+
} else if ((flags & DERIVED) !== 0) {
|
|
354
365
|
var derived = /** @type {Derived} */ (reaction);
|
|
355
366
|
|
|
356
367
|
batch_values?.delete(derived);
|
|
357
368
|
|
|
358
369
|
if ((flags & WAS_MARKED) === 0) {
|
|
359
|
-
// Only connected deriveds can be reliably unmarked right away
|
|
360
|
-
if (
|
|
370
|
+
// Only connected deriveds being executed outside the update cycle can be reliably unmarked right away
|
|
371
|
+
if (
|
|
372
|
+
flags & CONNECTED &&
|
|
373
|
+
(active_effect === null || (active_effect.f & REACTION_IS_UPDATING) === 0)
|
|
374
|
+
) {
|
|
361
375
|
reaction.f |= WAS_MARKED;
|
|
362
376
|
}
|
|
363
377
|
|
|
@@ -715,7 +715,12 @@ export class Renderer {
|
|
|
715
715
|
const { context, failed, transformError } = item.#boundary;
|
|
716
716
|
|
|
717
717
|
set_ssr_context(context);
|
|
718
|
-
|
|
718
|
+
|
|
719
|
+
let promise = transformError(error);
|
|
720
|
+
set_ssr_context(null);
|
|
721
|
+
|
|
722
|
+
let transformed = await promise;
|
|
723
|
+
set_ssr_context(context);
|
|
719
724
|
|
|
720
725
|
// Render the failed snippet instead of the partial children content
|
|
721
726
|
const failed_renderer = new Renderer(item.global, item);
|
package/src/version.js
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -3345,6 +3345,8 @@ declare namespace $state {
|
|
|
3345
3345
|
* </script>
|
|
3346
3346
|
* ```
|
|
3347
3347
|
*
|
|
3348
|
+
* If `state` has a `toJSON` method, the snapshot will clone the value returned from `toJSON` instead of the original object.
|
|
3349
|
+
*
|
|
3348
3350
|
* @see {@link https://svelte.dev/docs/svelte/$state#$state.snapshot Documentation}
|
|
3349
3351
|
*
|
|
3350
3352
|
* @param state The value to snapshot
|
package/types/index.d.ts.map
CHANGED
|
@@ -273,6 +273,6 @@
|
|
|
273
273
|
null,
|
|
274
274
|
null
|
|
275
275
|
],
|
|
276
|
-
"mappings": ";;;;;;;;;kBAUiBA,2BAA2BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmC/BC,eAAeA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAwEhBC,kBAAkBA;;;;;;;;;;;;;;;;;;;;;;;;kBAwBbC,SAASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoCbC,oBAAoBA;;;;;;;;;;;;;;;;;;;;;;;;aAwBrBC,eAAeA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAiCfC,cAAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6BdC,aAAaA;;;;;;;;;;;;;;;;;;;;;;;kBAuBRC,OAAOA;;;;;;;;;;;;;;;;kBAgBPC,eAAeA;;;;;;;;;;;;;;;;aAgBpBC,YAAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA+CPC,IAAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBCzSLC,cAAcA;;;;;;;;;;;;iBAsBdC,OAAOA;;;;;;;;iBAwBPC,SAASA;;;;;;;;;;;;;;;;;;;;;;iBA0CTC,qBAAqBA;;;;;;;;;;iBA2CrBC,YAAYA;;;;;;;;;;iBAuBZC,WAAWA;iBClNXC,UAAUA;;;;iBC4DVC,gBAAgBA;;;;;MCvEpBC,WAAWA;;;;;
|
|
276
|
+
"mappings": "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",
|
|
277
277
|
"ignoreList": []
|
|
278
278
|
}
|