Skip to content

Commit f3a4a28

Browse files
authored
Fix crash when formatting svelte files that have "let:class". (#24)
* Add tests for svelte's let directive. * Avoid formatting svelte's let directive.
1 parent 2e641bd commit f3a4a28

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

src/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ export const parsers = {
379379

380380
function transformSvelte(ast, { env, changes }) {
381381
for (let attr of ast.attributes ?? []) {
382-
if (attr.name === 'class') {
382+
if (attr.name === 'class' && attr.type === 'Attribute') {
383383
for (let i = 0; i < attr.value.length; i++) {
384384
let value = attr.value[i]
385385
if (value.type === 'Text') {

tests/test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ let tests = {
156156
t`<div class={\`${yes} \${'${yes}' + \`${yes}\`} ${yes}\`} />`,
157157
t`<div class={\`${no}\${someVar}${no}\`} />`,
158158
t`<div class="${yes} {\`${yes}\`}" />`,
159+
t`<div let:class={clazz} class="${yes} {clazz}" />`,
159160
[
160161
`<div class="sm:block uppercase flex{someVar}" />`,
161162
`<div class="uppercase sm:block flex{someVar}" />`,

0 commit comments

Comments
 (0)