From 4a93f385b90013f090dcb9c5a0f84408c329c0b1 Mon Sep 17 00:00:00 2001 From: razinshafayet Date: Tue, 16 Dec 2025 00:25:48 +0600 Subject: [PATCH 1/2] fix: re-enable runtime warning for reactivity loss after await --- .changeset/smooth-comics-shine.md | 5 +++ .../svelte/src/internal/client/runtime.js | 39 +++++++++---------- 2 files changed, 24 insertions(+), 20 deletions(-) create mode 100644 .changeset/smooth-comics-shine.md diff --git a/.changeset/smooth-comics-shine.md b/.changeset/smooth-comics-shine.md new file mode 100644 index 000000000000..4bf26ed9f1b7 --- /dev/null +++ b/.changeset/smooth-comics-shine.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: correctly print `!doctype` during `print` diff --git a/packages/svelte/src/internal/client/runtime.js b/packages/svelte/src/internal/client/runtime.js index 64c8409b8ffb..9a12f84abbd7 100644 --- a/packages/svelte/src/internal/client/runtime.js +++ b/packages/svelte/src/internal/client/runtime.js @@ -175,8 +175,8 @@ export function is_dirty(reaction) { for (var i = 0; i < length; i++) { var dependency = dependencies[i]; - if (is_dirty(/** @type {Derived} */ (dependency))) { - update_derived(/** @type {Derived} */ (dependency)); + if (is_dirty(/** @type {Derived} */(dependency))) { + update_derived(/** @type {Derived} */(dependency)); } if (dependency.wv > reaction.wv) { @@ -215,14 +215,14 @@ function schedule_possible_effect_self_invalidation(signal, effect, root = true) var reaction = reactions[i]; if ((reaction.f & DERIVED) !== 0) { - schedule_possible_effect_self_invalidation(/** @type {Derived} */ (reaction), effect, false); + schedule_possible_effect_self_invalidation(/** @type {Derived} */(reaction), effect, false); } else if (effect === reaction) { if (root) { set_signal_status(reaction, DIRTY); } else if ((reaction.f & CLEAN) !== 0) { set_signal_status(reaction, MAYBE_DIRTY); } - schedule_effect(/** @type {Effect} */ (reaction)); + schedule_effect(/** @type {Effect} */(reaction)); } } } @@ -301,7 +301,7 @@ export function update_reaction(reaction) { for (i = 0; i < /** @type {Source[]} */ (untracked_writes).length; i++) { schedule_possible_effect_self_invalidation( untracked_writes[i], - /** @type {Effect} */ (reaction) + /** @type {Effect} */(reaction) ); } } @@ -382,8 +382,8 @@ function remove_reaction(signal, dependency) { dependency.f &= ~WAS_MARKED; } // Disconnect any reactions owned by this reaction - destroy_derived_effects(/** @type {Derived} **/ (dependency)); - remove_reactions(/** @type {Derived} **/ (dependency), 0); + destroy_derived_effects(/** @type {Derived} **/(dependency)); + remove_reactions(/** @type {Derived} **/(dependency), 0); } } @@ -547,19 +547,18 @@ export function get(signal) { } if (DEV) { - // TODO reinstate this, but make it actually work - // if (current_async_effect) { - // var tracking = (current_async_effect.f & REACTION_IS_UPDATING) !== 0; - // var was_read = current_async_effect.deps?.includes(signal); + if (current_async_effect) { + var tracking = (current_async_effect.f & REACTION_IS_UPDATING) !== 0; + var was_read = current_async_effect.deps?.includes(signal); - // if (!tracking && !untracking && !was_read) { - // w.await_reactivity_loss(/** @type {string} */ (signal.label)); + if (!tracking && !untracking && !was_read) { + w.await_reactivity_loss(/** @type {string} */ (signal.label)); - // var trace = get_error('traced at'); - // // eslint-disable-next-line no-console - // if (trace) console.warn(trace); - // } - // } + var trace = get_error('traced at'); + // eslint-disable-next-line no-console + if (trace) console.warn(trace); + } + } recent_async_deriveds.delete(signal); @@ -659,7 +658,7 @@ function reconnect(derived) { (dep.reactions ??= []).push(derived); if ((dep.f & DERIVED) !== 0 && (dep.f & CONNECTED) === 0) { - reconnect(/** @type {Derived} */ (dep)); + reconnect(/** @type {Derived} */(dep)); } } } @@ -674,7 +673,7 @@ function depends_on_old_values(derived) { return true; } - if ((dep.f & DERIVED) !== 0 && depends_on_old_values(/** @type {Derived} */ (dep))) { + if ((dep.f & DERIVED) !== 0 && depends_on_old_values(/** @type {Derived} */(dep))) { return true; } } From bdde97279e7dd441199ac1c6407a73222ef350dd Mon Sep 17 00:00:00 2001 From: razinshafayet Date: Tue, 16 Dec 2025 00:40:09 +0600 Subject: [PATCH 2/2] style: fix formatting and lint issues --- .../svelte/src/internal/client/runtime.js | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/svelte/src/internal/client/runtime.js b/packages/svelte/src/internal/client/runtime.js index 9a12f84abbd7..6cb0dee0b410 100644 --- a/packages/svelte/src/internal/client/runtime.js +++ b/packages/svelte/src/internal/client/runtime.js @@ -175,8 +175,8 @@ export function is_dirty(reaction) { for (var i = 0; i < length; i++) { var dependency = dependencies[i]; - if (is_dirty(/** @type {Derived} */(dependency))) { - update_derived(/** @type {Derived} */(dependency)); + if (is_dirty(/** @type {Derived} */ (dependency))) { + update_derived(/** @type {Derived} */ (dependency)); } if (dependency.wv > reaction.wv) { @@ -215,14 +215,14 @@ function schedule_possible_effect_self_invalidation(signal, effect, root = true) var reaction = reactions[i]; if ((reaction.f & DERIVED) !== 0) { - schedule_possible_effect_self_invalidation(/** @type {Derived} */(reaction), effect, false); + schedule_possible_effect_self_invalidation(/** @type {Derived} */ (reaction), effect, false); } else if (effect === reaction) { if (root) { set_signal_status(reaction, DIRTY); } else if ((reaction.f & CLEAN) !== 0) { set_signal_status(reaction, MAYBE_DIRTY); } - schedule_effect(/** @type {Effect} */(reaction)); + schedule_effect(/** @type {Effect} */ (reaction)); } } } @@ -301,7 +301,7 @@ export function update_reaction(reaction) { for (i = 0; i < /** @type {Source[]} */ (untracked_writes).length; i++) { schedule_possible_effect_self_invalidation( untracked_writes[i], - /** @type {Effect} */(reaction) + /** @type {Effect} */ (reaction) ); } } @@ -382,8 +382,8 @@ function remove_reaction(signal, dependency) { dependency.f &= ~WAS_MARKED; } // Disconnect any reactions owned by this reaction - destroy_derived_effects(/** @type {Derived} **/(dependency)); - remove_reactions(/** @type {Derived} **/(dependency), 0); + destroy_derived_effects(/** @type {Derived} **/ (dependency)); + remove_reactions(/** @type {Derived} **/ (dependency), 0); } } @@ -547,18 +547,18 @@ export function get(signal) { } if (DEV) { - if (current_async_effect) { - var tracking = (current_async_effect.f & REACTION_IS_UPDATING) !== 0; - var was_read = current_async_effect.deps?.includes(signal); + if (current_async_effect) { + var tracking = (current_async_effect.f & REACTION_IS_UPDATING) !== 0; + var was_read = current_async_effect.deps?.includes(signal); - if (!tracking && !untracking && !was_read) { - w.await_reactivity_loss(/** @type {string} */ (signal.label)); + if (!tracking && !untracking && !was_read) { + w.await_reactivity_loss(/** @type {string} */ (signal.label)); - var trace = get_error('traced at'); - // eslint-disable-next-line no-console - if (trace) console.warn(trace); - } - } + var stack_trace = get_error('traced at'); + // eslint-disable-next-line no-console + if (stack_trace) console.warn(stack_trace); + } + } recent_async_deriveds.delete(signal); @@ -658,7 +658,7 @@ function reconnect(derived) { (dep.reactions ??= []).push(derived); if ((dep.f & DERIVED) !== 0 && (dep.f & CONNECTED) === 0) { - reconnect(/** @type {Derived} */(dep)); + reconnect(/** @type {Derived} */ (dep)); } } } @@ -673,7 +673,7 @@ function depends_on_old_values(derived) { return true; } - if ((dep.f & DERIVED) !== 0 && depends_on_old_values(/** @type {Derived} */(dep))) { + if ((dep.f & DERIVED) !== 0 && depends_on_old_values(/** @type {Derived} */ (dep))) { return true; } }