[feat] Better error message for inline component style directive (#7187)

Closes #7177
pull/7217/head
Efe Selim Küçük 2 years ago committed by GitHub
parent d35fc9f842
commit 587f94eb65
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -265,5 +265,9 @@ export default {
cyclical_const_tags: (cycle: string[]) => ({
code: 'cyclical-const-tags',
message: `Cyclical dependency detected: ${cycle.join(' → ')}`
})
}),
invalid_component_style_directive: {
code: 'invalid-component-style-directive',
message: 'Style directives cannot be used on components'
}
};

@ -71,7 +71,10 @@ export default class InlineComponent extends Node {
case 'Transition':
return component.error(node, compiler_errors.invalid_transition);
case 'StyleDirective':
return component.error(node, compiler_errors.invalid_component_style_directive);
default:
throw new Error(`Not implemented: ${node.type}`);
}

@ -0,0 +1,9 @@
[
{
"code": "invalid-component-style-directive",
"message": "Style directives cannot be used on components",
"start": { "line": 7, "column": 19, "character": 97 },
"end": { "line": 7, "column": 36, "character": 114 },
"pos": 97
}
]

@ -0,0 +1,7 @@
<script>
let name = 'world';
import Child from 'Child.svelte';
</script>
<Child name={name} style:color="red" />
Loading…
Cancel
Save