Skip to content

Commit 63968ea

Browse files
committed
tweak docs
1 parent d044813 commit 63968ea

File tree

4 files changed

+9
-5
lines changed

4 files changed

+9
-5
lines changed

packages/svelte/messages/compile-warnings/template.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,11 @@ This code will work when the component is rendered on the client (which is why t
5656
5757
## svelte_component_deprecated
5858

59-
> `svelte:component` has been deprecated, you can just render the component with `<Component />`
59+
> `<svelte:component>` is deprecated in runes mode — components are dynamic by default
60+
61+
In previous versions of Svelte, the component constructor was fixed when the component was rendered. In other words, if you wanted `<X>` to re-render when `X` changed, you would either have to use `<svelte:component this={X}>` or put the component inside a `{#key X}...{/key}` block.
62+
63+
In Svelte 5 this is no longer true — if `X` changes, `<X>` re-renders. For more complex expressions like `condition ? Y : Z` you can use a derived value instead.
6064

6165
## svelte_element_invalid_this
6266

packages/svelte/src/compiler/warnings.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -769,11 +769,11 @@ export function slot_element_deprecated(node) {
769769
}
770770

771771
/**
772-
* `svelte:component` has been deprecated, you can just render the component with `<Component />`
772+
* `<svelte:component>` is deprecated in runes mode — components are dynamic by default
773773
* @param {null | NodeLike} node
774774
*/
775775
export function svelte_component_deprecated(node) {
776-
w(node, "svelte_component_deprecated", "`svelte:component` has been deprecated, you can just render the component with `<Component />`");
776+
w(node, "svelte_component_deprecated", "`<svelte:component>` is deprecated in runes mode — components are dynamic by default");
777777
}
778778

779779
/**

packages/svelte/tests/validator/samples/attribute-quoted/warnings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"column": 45,
1818
"line": 15
1919
},
20-
"message": "`svelte:component` has been deprecated, you can just render the component with `<Component />`",
20+
"message": "`<svelte:component>` is deprecated in runes mode — components are dynamic by default",
2121
"start": {
2222
"column": 0,
2323
"line": 15

packages/svelte/tests/validator/samples/svelte-component-deprecated/warnings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[
22
{
33
"code": "svelte_component_deprecated",
4-
"message": "`svelte:component` has been deprecated, you can just render the component with `<Component />`",
4+
"message": "`<svelte:component>` is deprecated in runes mode — components are dynamic by default",
55
"start": {
66
"line": 7,
77
"column": 0

0 commit comments

Comments
 (0)