Skip to content

Commit f64e906

Browse files
committed
fix: do not inline regexp literal when declaration in loop
1 parent d1c6139 commit f64e906

3 files changed

Lines changed: 13 additions & 1 deletion

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
function f(query) {
2+
var r = /./g,
3+
part;
4+
while (part = r.exec(query));
5+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
function f(query) {
2+
var r = /./g,
3+
part;
4+
5+
while (part = r.exec(query));
6+
}

packages/babel-plugin-minify-dead-code-elimination/src/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,8 @@ module.exports = ({ types: t, traverse }) => {
421421
const isObj = n =>
422422
t.isFunction(n) ||
423423
t.isObjectExpression(n) ||
424-
t.isArrayExpression(n);
424+
t.isArrayExpression(n) ||
425+
t.isRegExpLiteral(n);
425426

426427
const isReplacementObj =
427428
isObj(replacement) || some(replacement, isObj);

0 commit comments

Comments
 (0)