fix: allow svelte:self in snippets

pull/9439/head
paoloricciuti 3 years ago
parent 66661eff04
commit 6a063ec26c

@ -141,7 +141,7 @@ const special_elements = {
/** @param {string} name */
'duplicate-svelte-element': (name) => `A component can only have one <${name}> element`,
'invalid-self-placement': () =>
`<svelte:self> components can only exist inside {#if} blocks, {#each} blocks, or slots passed to components`,
`<svelte:self> components can only exist inside {#if} blocks, {#each} blocks, {#snippet} blocks or slots passed to components`,
'missing-svelte-element-definition': () => `<svelte:element> must have a 'this' attribute`,
'missing-svelte-component-definition': () => `<svelte:component> must have a 'this' attribute`,
'invalid-svelte-element-definition': () => `Invalid element definition — must be an {expression}`,

@ -331,7 +331,8 @@ function read_tag_name(parser) {
if (
fragment.type === 'IfBlock' ||
fragment.type === 'EachBlock' ||
fragment.type === 'Component'
fragment.type === 'Component' ||
fragment.type === 'SnippetBlock'
) {
legal = true;
break;

@ -4,7 +4,7 @@ export default test({
error: {
code: 'invalid-self-placement',
message:
'<svelte:self> components can only exist inside {#if} blocks, {#each} blocks, or slots passed to components',
'<svelte:self> components can only exist inside {#if} blocks, {#each} blocks,, {#snippet} blocks or slots passed to components',
position: [1, 1]
}
});

Loading…
Cancel
Save