diff --git a/.changeset/better-rice-join.md b/.changeset/better-rice-join.md new file mode 100644 index 000000000..aaaa000c2 --- /dev/null +++ b/.changeset/better-rice-join.md @@ -0,0 +1,5 @@ +--- +'eslint-plugin-svelte': patch +--- + +fix: Don't remove mustache'd string literals if they contain curly braces diff --git a/packages/eslint-plugin-svelte/src/rules/no-useless-mustaches.ts b/packages/eslint-plugin-svelte/src/rules/no-useless-mustaches.ts index 169cc8ef9..05d3af28e 100644 --- a/packages/eslint-plugin-svelte/src/rules/no-useless-mustaches.ts +++ b/packages/eslint-plugin-svelte/src/rules/no-useless-mustaches.ts @@ -85,6 +85,10 @@ export default createRule('no-useless-mustaches', { return; } + if (rawValue.includes('{')) { + return; + } + let hasEscape = false; if (rawValue !== strValue) { // check escapes diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-useless-mustaches/valid/valid-test01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-useless-mustaches/valid/valid-test01-input.svelte index 5da305aa8..46402aeda 100644 --- a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-useless-mustaches/valid/valid-test01-input.svelte +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-useless-mustaches/valid/valid-test01-input.svelte @@ -8,5 +8,6 @@ foo 'foo' {1} {null} {`foo${foo}`} +{'{foo'}