Skip to content

Commit 40d4e7b

Browse files
committed
feature: @putout/plugin-remove-useless-escape: backtick inside RegExp
1 parent d82c603 commit 40d4e7b

File tree

4 files changed

+12
-1
lines changed

4 files changed

+12
-1
lines changed

packages/plugin-remove-useless-escape/lib/remove-useless-escape.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,8 @@ function unEscape(raw) {
159159
const unescapeRegExp = (raw) => raw
160160
.replaceAll('\\:', ':')
161161
.replaceAll('\\+\\/', '+/')
162-
.replaceAll('\\,', ',');
162+
.replaceAll('\\,', ',')
163+
.replaceAll('\\`', '`');
163164

164165
const is = (a) => (b) => b.includes(`\\${a}`) && !b.includes(`\\\\${a}`);
165166
const isRegExpColon = is(':');
@@ -170,5 +171,8 @@ function isEscapedRegExp(raw) {
170171
if (raw.includes('\\/'))
171172
return false;
172173

174+
if (raw.includes('\\`'))
175+
return true;
176+
173177
return isRegExpColon(raw) || isRegExpSlash(raw) || isComa(raw);
174178
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
m.replace(/`/, '\\`');
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
m.replace(/\`/g, '\\`');

packages/plugin-remove-useless-escape/test/remove-useless-escape.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,11 @@ test('plugin-remove-useless-escape: transform: regexp: regexp-colon', (t) => {
8484
t.end();
8585
});
8686

87+
test('plugin-remove-useless-escape: transform: regexp: regexp-quote', (t) => {
88+
t.transform('regexp-quote');
89+
t.end();
90+
});
91+
8792
test('plugin-remove-useless-escape: no transform: regexp-slash', (t) => {
8893
t.noTransform('regexp-slash');
8994
t.end();

0 commit comments

Comments
 (0)