diff --git a/packages/babel-plugin-minify-constant-folding/__tests__/fixtures/export-specifier/actual.js b/packages/babel-plugin-minify-constant-folding/__tests__/fixtures/export-specifier/actual.js new file mode 100644 index 000000000..6091bf84a --- /dev/null +++ b/packages/babel-plugin-minify-constant-folding/__tests__/fixtures/export-specifier/actual.js @@ -0,0 +1,3 @@ +const a = "a"; +const b = "b"; +export { a, b }; diff --git a/packages/babel-plugin-minify-constant-folding/__tests__/fixtures/export-specifier/babel.json b/packages/babel-plugin-minify-constant-folding/__tests__/fixtures/export-specifier/babel.json new file mode 100644 index 000000000..2104ca432 --- /dev/null +++ b/packages/babel-plugin-minify-constant-folding/__tests__/fixtures/export-specifier/babel.json @@ -0,0 +1,3 @@ +{ + "sourceType": "module" +} diff --git a/packages/babel-plugin-minify-constant-folding/__tests__/fixtures/export-specifier/expected.js b/packages/babel-plugin-minify-constant-folding/__tests__/fixtures/export-specifier/expected.js new file mode 100644 index 000000000..81fa6ed97 --- /dev/null +++ b/packages/babel-plugin-minify-constant-folding/__tests__/fixtures/export-specifier/expected.js @@ -0,0 +1,3 @@ +const a = "a"; +const b = "b"; +export { a, b }; \ No newline at end of file diff --git a/packages/babel-plugin-minify-constant-folding/src/index.js b/packages/babel-plugin-minify-constant-folding/src/index.js index 8deadd3c2..727645696 100644 --- a/packages/babel-plugin-minify-constant-folding/src/index.js +++ b/packages/babel-plugin-minify-constant-folding/src/index.js @@ -102,7 +102,7 @@ module.exports = babel => { // TODO: look into evaluating binding too (could result in more code, but gzip?) Expression(path, { opts: { tdz = false } = {} }) { - const { node } = path; + const { node, parent } = path; if (node[seen]) { return; @@ -116,6 +116,11 @@ module.exports = babel => { return; } + // Avoid replacing the values for identifiers in exports + if (t.isExportSpecifier(parent)) { + return; + } + // -0 maybe compared via dividing and then checking against -Infinity // Also -X will always be -X. if (