update message, add some details

pull/14315/head
Rich Harris 2 years ago
parent 46a8a26691
commit 8fcdad25c3

@ -703,9 +703,27 @@ Cannot use explicit children snippet at the same time as implicit children conte
### snippet_invalid_export
```
Cannot export snippet from a `<script module>` if it references logic or expressions inside the component
An exported snippet can only reference things declared in a `<script module>`, or other exportable snippets
```
It's possible to export a snippet from a `<script module>` block, but only if it doesn't reference anything defined inside a non-module-level `<script>`. For example you can't do this...
```svelte
<script module>
export { greeting };
</script>
<script>
let message = 'hello';
</script>
{#snippet greeting(name)}
<p>{message} {name}!</p>
{/snippet}
```
...because `greeting` references `message`, which is defined in the second `<script>`.
### snippet_invalid_rest_parameter
```

@ -140,7 +140,25 @@
## snippet_invalid_export
> Cannot export snippet from a `<script module>` if it references logic or expressions inside the component
> An exported snippet can only reference things declared in a `<script module>`, or other exportable snippets
It's possible to export a snippet from a `<script module>` block, but only if it doesn't reference anything defined inside a non-module-level `<script>`. For example you can't do this...
```svelte
<script module>
export { greeting };
</script>
<script>
let message = 'hello';
</script>
{#snippet greeting(name)}
<p>{message} {name}!</p>
{/snippet}
```
...because `greeting` references `message`, which is defined in the second `<script>`.
## snippet_parameter_assignment

@ -406,12 +406,12 @@ export function runes_mode_invalid_import(node, name) {
}
/**
* Cannot export snippet from a `<script module>` if it references logic or expressions inside the component
* An exported snippet can only reference things declared in a `<script module>`, or other exportable snippets
* @param {null | number | NodeLike} node
* @returns {never}
*/
export function snippet_invalid_export(node) {
e(node, "snippet_invalid_export", "Cannot export snippet from a `<script module>` if it references logic or expressions inside the component");
e(node, "snippet_invalid_export", "An exported snippet can only reference things declared in a `<script module>`, or other exportable snippets");
}
/**

Loading…
Cancel
Save