diff --git a/documentation/docs/98-reference/.generated/compile-errors.md b/documentation/docs/98-reference/.generated/compile-errors.md index 079b1d2a0a..1c874436de 100644 --- a/documentation/docs/98-reference/.generated/compile-errors.md +++ b/documentation/docs/98-reference/.generated/compile-errors.md @@ -63,9 +63,29 @@ Event attribute must be a JavaScript expression, not a string ### attribute_invalid_sequence_expression ``` -Sequence expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses +Comma-separated expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses ``` +An attribute value cannot be a comma-separated sequence of expressions — in other words this is disallowed: + +```svelte +
...
+``` + +Instead, make sure that the attribute value contains a single expression. In the example above it's likely that this was intended (see the [class documentation](class) for more details): + +```svelte +
...
+``` + +If you _do_ need to use the comma operator for some reason, wrap the sequence in parentheses: + +```svelte +
...
+``` + +Note that this will evaluate to `color`, ignoring `size`. + ### attribute_invalid_type ``` diff --git a/packages/svelte/messages/compile-errors/template.md b/packages/svelte/messages/compile-errors/template.md index bd07955bc3..6aa4335c11 100644 --- a/packages/svelte/messages/compile-errors/template.md +++ b/packages/svelte/messages/compile-errors/template.md @@ -40,7 +40,27 @@ ## attribute_invalid_sequence_expression -> Sequence expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses +> Comma-separated expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses + +An attribute value cannot be a comma-separated sequence of expressions — in other words this is disallowed: + +```svelte +
...
+``` + +Instead, make sure that the attribute value contains a single expression. In the example above it's likely that this was intended (see the [class documentation](class) for more details): + +```svelte +
...
+``` + +If you _do_ need to use the comma operator for some reason, wrap the sequence in parentheses: + +```svelte +
...
+``` + +Note that this will evaluate to `color`, ignoring `size`. ## attribute_invalid_type diff --git a/packages/svelte/src/compiler/errors.js b/packages/svelte/src/compiler/errors.js index 3997dbec32..c28c737d7f 100644 --- a/packages/svelte/src/compiler/errors.js +++ b/packages/svelte/src/compiler/errors.js @@ -785,12 +785,12 @@ export function attribute_invalid_name(node, name) { } /** - * Sequence expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses + * Comma-separated expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses * @param {null | number | NodeLike} node * @returns {never} */ export function attribute_invalid_sequence_expression(node) { - e(node, 'attribute_invalid_sequence_expression', `Sequence expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses\nhttps://svelte.dev/e/attribute_invalid_sequence_expression`); + e(node, 'attribute_invalid_sequence_expression', `Comma-separated expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses\nhttps://svelte.dev/e/attribute_invalid_sequence_expression`); } /** diff --git a/packages/svelte/tests/compiler-errors/samples/attribute-sequence-expression-2/_config.js b/packages/svelte/tests/compiler-errors/samples/attribute-sequence-expression-2/_config.js index 13d7f9c66b..55f02e801b 100644 --- a/packages/svelte/tests/compiler-errors/samples/attribute-sequence-expression-2/_config.js +++ b/packages/svelte/tests/compiler-errors/samples/attribute-sequence-expression-2/_config.js @@ -4,7 +4,7 @@ export default test({ error: { code: 'attribute_invalid_sequence_expression', message: - 'Sequence expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses', + 'Comma-separated expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses', position: [124, 131] } }); diff --git a/packages/svelte/tests/compiler-errors/samples/attribute-sequence-expression/_config.js b/packages/svelte/tests/compiler-errors/samples/attribute-sequence-expression/_config.js index 4fb1680d01..1c50ef76ea 100644 --- a/packages/svelte/tests/compiler-errors/samples/attribute-sequence-expression/_config.js +++ b/packages/svelte/tests/compiler-errors/samples/attribute-sequence-expression/_config.js @@ -4,7 +4,7 @@ export default test({ error: { code: 'attribute_invalid_sequence_expression', message: - 'Sequence expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses', + 'Comma-separated expressions are not allowed as attribute/directive values in runes mode, unless wrapped in parentheses', position: [163, 170] } });