From 3f23f359f3150b36b3ee80bf7da49233f2fc92e7 Mon Sep 17 00:00:00 2001 From: Boopathi Rajaa Date: Wed, 14 Jun 2017 13:56:12 +0200 Subject: [PATCH 1/2] Remove folding Array.prototype.concat (fix #577) --- .../__tests__/constant-folding-test.js | 6 ------ .../src/replacements.js | 10 ---------- 2 files changed, 16 deletions(-) diff --git a/packages/babel-plugin-minify-constant-folding/__tests__/constant-folding-test.js b/packages/babel-plugin-minify-constant-folding/__tests__/constant-folding-test.js index 705d3f85c..f87eacc3a 100644 --- a/packages/babel-plugin-minify-constant-folding/__tests__/constant-folding-test.js +++ b/packages/babel-plugin-minify-constant-folding/__tests__/constant-folding-test.js @@ -107,9 +107,6 @@ describe("constant-folding-plugin", () => { it("should handle Array methods on array literals", () => { const source = unpad( ` - [1, 2, 3].concat([4, 5, 6]); - [a, b, c].concat([d, e], f, g, [h]); - [1, 2, 3]["concat"]([4, 5, 6]); [1, 2, 3].push([4, 5, 6]); [1, 2, 3].join(); @@ -142,9 +139,6 @@ describe("constant-folding-plugin", () => { ); const expected = unpad( ` - [1, 2, 3, 4, 5, 6]; - [a, b, c, d, e, f, g, h]; - [1, 2, 3, 4, 5, 6]; 4; "1,2,3"; diff --git a/packages/babel-plugin-minify-constant-folding/src/replacements.js b/packages/babel-plugin-minify-constant-folding/src/replacements.js index d6e916da5..0f6300d66 100644 --- a/packages/babel-plugin-minify-constant-folding/src/replacements.js +++ b/packages/babel-plugin-minify-constant-folding/src/replacements.js @@ -32,16 +32,6 @@ module.exports = ({ types: t }) => { } }, calls: { - concat(...args) { - return t.arrayExpression( - this.elements.concat( - ...args.map(arg => { - if (t.isArrayExpression(arg)) return arg.elements; - return arg; - }) - ) - ); - }, join(sep = t.stringLiteral(",")) { if (!t.isStringLiteral(sep)) return; let bad = false; From 3c8a3a23c782badb85f04afc488dfeffad4d779e Mon Sep 17 00:00:00 2001 From: Boopathi Rajaa Date: Wed, 14 Jun 2017 17:30:26 +0200 Subject: [PATCH 2/2] Add another test --- .../__tests__/constant-folding-test.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/babel-plugin-minify-constant-folding/__tests__/constant-folding-test.js b/packages/babel-plugin-minify-constant-folding/__tests__/constant-folding-test.js index f87eacc3a..ca2e633f7 100644 --- a/packages/babel-plugin-minify-constant-folding/__tests__/constant-folding-test.js +++ b/packages/babel-plugin-minify-constant-folding/__tests__/constant-folding-test.js @@ -108,6 +108,7 @@ describe("constant-folding-plugin", () => { const source = unpad( ` [1, 2, 3].push([4, 5, 6]); + [1, 2, 3]["push"]([4, 5, 6]); [1, 2, 3].join(); ["a", "b", "c"].join(); @@ -140,6 +141,7 @@ describe("constant-folding-plugin", () => { const expected = unpad( ` 4; + 4; "1,2,3"; "a,b,c";