From de9efe25e0c7c8e6e4cdfd2e0523e95345302c01 Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Wed, 21 Aug 2024 13:23:16 +0200 Subject: [PATCH] fix: prevent `svelte_component_invalid_this_value` false positives Also check for the function name: `$$component` is rare enough (if even allowed - it's not inside `.svelte(.js)` files) to remove most of not all false positives --- .changeset/rotten-glasses-own.md | 5 +++++ packages/svelte/src/internal/client/validate.js | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/rotten-glasses-own.md diff --git a/.changeset/rotten-glasses-own.md b/.changeset/rotten-glasses-own.md new file mode 100644 index 000000000000..890df889d89a --- /dev/null +++ b/.changeset/rotten-glasses-own.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: prevent `svelte_component_invalid_this_value` false positives diff --git a/packages/svelte/src/internal/client/validate.js b/packages/svelte/src/internal/client/validate.js index 8792d02f0d67..34baadf22ef4 100644 --- a/packages/svelte/src/internal/client/validate.js +++ b/packages/svelte/src/internal/client/validate.js @@ -31,7 +31,7 @@ export function validate_dynamic_component(component_fn) { } catch (err) { const { message } = /** @type {Error} */ (err); - if (typeof message === 'string' && message.indexOf('is not a function') !== -1) { + if (typeof message === 'string' && message.indexOf('$$component is not a function') !== -1) { e.svelte_component_invalid_this_value(); }