Skip to content

Commit 0b09f48

Browse files
committed
fix: replace only necessary quasis
1 parent 629191f commit 0b09f48

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

rules/prefer-string-raw.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ const create = context => {
6868
}
6969

7070
let hasBackslash = false;
71+
const replacements = [];
7172

7273
for (const quasi of node.quasis) {
7374
const {raw, cooked} = quasi.value;
@@ -83,6 +84,7 @@ const create = context => {
8384

8485
if (cooked.includes(BACKSLASH)) {
8586
hasBackslash = true;
87+
replacements.push({quasi, replacement: unescapedQuasi});
8688
}
8789
}
8890

@@ -95,8 +97,10 @@ const create = context => {
9597
messageId: MESSAGE_ID,
9698
* fix(fixer) {
9799
yield * fixSpaceAroundKeyword(fixer, node, context.sourceCode);
98-
yield * node.quasis.map(quasi => replaceTemplateElement(fixer, quasi, quasi.value.cooked));
99100
yield fixer.insertTextBefore(node, 'String.raw');
101+
for (const {quasi, replacement} of replacements) {
102+
yield replaceTemplateElement(fixer, quasi, replacement);
103+
}
100104
},
101105
};
102106
});

0 commit comments

Comments
 (0)