From 9b36b6be5354a4b0648f5336cadfe09f6509588f Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 26 Feb 2025 22:20:00 -0500 Subject: [PATCH] add callsite to effect tree logs --- packages/svelte/src/internal/client/dev/debug.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/svelte/src/internal/client/dev/debug.js b/packages/svelte/src/internal/client/dev/debug.js index b65f79697c..810fb39378 100644 --- a/packages/svelte/src/internal/client/dev/debug.js +++ b/packages/svelte/src/internal/client/dev/debug.js @@ -29,7 +29,7 @@ export function root(effect) { * * @param {Effect} effect */ -export function log_effect_tree(effect) { +export function log_effect_tree(effect, depth = 0) { const flags = effect.f; let label = '(unknown)'; @@ -55,6 +55,14 @@ export function log_effect_tree(effect) { console.group(`%c${label} (${status})`, `font-weight: ${status === 'clean' ? 'normal' : 'bold'}`); + if (depth === 0) { + const callsite = new Error().stack + ?.split('\n')[2] + .replace(/\s+at (?: \w+\(?)?(.+)\)?/, (m, $1) => $1.replace(/\?[^:]+/, '')); + + console.log(callsite); + } + if (effect.deps !== null) { console.groupCollapsed('%cdeps', 'font-weight: normal'); for (const dep of effect.deps) { @@ -65,7 +73,7 @@ export function log_effect_tree(effect) { let child = effect.first; while (child !== null) { - log_effect_tree(child); + log_effect_tree(child, depth + 1); child = child.next; }