diff --git a/packages/svelte/src/internal/client/dom/elements/attachments.js b/packages/svelte/src/internal/client/dom/elements/attachments.js index f52b238559..6e3089a384 100644 --- a/packages/svelte/src/internal/client/dom/elements/attachments.js +++ b/packages/svelte/src/internal/client/dom/elements/attachments.js @@ -6,6 +6,10 @@ import { effect } from '../../reactivity/effects.js'; */ export function attach(node, get_fn) { effect(() => { - return (get_fn())?.(node); + const fn = get_fn(); + + // we use `&&` rather than `?.` so that things like + // `{@attach DEV && something_dev_only()}` work + return fn && fn(node); }); }