deno
deno copied to clipboard
fmt - Error formatting Svelte 5 snippet
Reproduction
{#snippet test()}
<div>Test</div>
{/snippet}
Expected
No errors
Actual
Error formatting: ...
Syntax error (expected text node) at file:///...
deno --version
deno 2.0.0 (stable, release, x86_64-unknown-linux-gnu)
v8 12.9.202.13-rusty
typescript 5.6.2
The error I get when I format using prettier:
app.svelte
[error] app.svelte: Expected if, each or await
[error] > 1 | {#snippet test()}
[error] | ^
[error] 2 | <div>Test</div>
[error] 3 | {/snippet}
[error] 4 | (1:2)
[error] 1: {#snippet test()}
[error] ^
[error] 2: <div>Test</div>
[error] 3: {/snippet}
@satyarohith What's the version of prettier and prettier-plugin-svelte are you using? I'm using "prettier": "^3.3.3", "prettier-plugin-svelte": "^3.2.7" and it works fine.
@satyarohith Svelte 5 just released (https://svelte.dev/blog/svelte-5-is-alive), and a fix to make this work would be greatly appreciated, as snippets is really useful to re-use HTML template code and remove duplication.
I'm still getting an error in deno 2.0.5 (stable, release, x86_64-pc-windows-msvc)
{#snippet test()}
<div>Test</div>
{/snippet}
deno fmt --unstable-component
Error formatting: C:\Users\sylva\Documents\Projects\temp\deno-init\test.svelte
Unexpected token `/`. Expected identifier, string literal, numeric literal or [ for the computed key at file:///C:/Users/sylva/Documents/Projects/temp/deno-init/test.svelte.tsx:2:21
<>{/snippet}</>
~
Checked 4 files
I just ran into this as well. It looks like the rest of the fix for this is unreleased (maybe in markup_fmt 0.15.2?): https://github.com/g-plane/markup_fmt/pull/73