diff --git a/.changeset/old-numbers-pull.md b/.changeset/old-numbers-pull.md new file mode 100644 index 000000000..9bcf48b1c --- /dev/null +++ b/.changeset/old-numbers-pull.md @@ -0,0 +1,5 @@ +--- +'eslint-plugin-svelte': patch +--- + +fix: account for \n and \r in `TemplateLiteral` handling for the `no-useless-mustaches` rule 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 56c80c382..88010dc24 100644 --- a/packages/eslint-plugin-svelte/src/rules/no-useless-mustaches.ts +++ b/packages/eslint-plugin-svelte/src/rules/no-useless-mustaches.ts @@ -81,6 +81,10 @@ export default createRule('no-useless-mustaches', { return; } + if (expression.type === 'TemplateLiteral' && /[\n\r]/.test(rawValue)) { + return; + } + let hasEscape = false; if (rawValue !== strValue) { // check escapes diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-useless-mustaches/valid/valid-test02-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-useless-mustaches/valid/valid-test02-input.svelte new file mode 100644 index 000000000..18ac5dea3 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-useless-mustaches/valid/valid-test02-input.svelte @@ -0,0 +1,5 @@ +