diff --git a/lib/6to5/transformation/transformers/optional-core-aliasing.js b/lib/6to5/transformation/transformers/optional-core-aliasing.js index a67bf045ec..806ddb5cfb 100644 --- a/lib/6to5/transformation/transformers/optional-core-aliasing.js +++ b/lib/6to5/transformation/transformers/optional-core-aliasing.js @@ -31,8 +31,8 @@ exports.ast = { this.skip(); return t.prependToMemberExpression(node, file._coreId); } - } else if (t.isIdentifier(node) && !t.isMemberExpression(parent) && t.isReferenced(node, parent) && coreHas(node)) { - // new Promise -> new _core.Promise + } else if (t.isIdentifier(node) && !t.isMemberExpression(parent) && t.isReferenced(node, parent) && node.name === "Symbol") { + // new Symbol -> new _core.Symbol return t.memberExpression(file._coreId, node); } else if (t.isCallExpression(node)) { // arr[Symbol.iterator]() -> _core.$for.getIterator(arr) diff --git a/test/fixtures/transformation/optional-core-aliasing/ignore-natives/actual.js b/test/fixtures/transformation/optional-core-aliasing/ignore-natives/actual.js new file mode 100644 index 0000000000..60fe1ccd57 --- /dev/null +++ b/test/fixtures/transformation/optional-core-aliasing/ignore-natives/actual.js @@ -0,0 +1 @@ +obj.constructor === Object; diff --git a/test/fixtures/transformation/optional-core-aliasing/ignore-natives/expected.js b/test/fixtures/transformation/optional-core-aliasing/ignore-natives/expected.js new file mode 100644 index 0000000000..9ce5ba07b1 --- /dev/null +++ b/test/fixtures/transformation/optional-core-aliasing/ignore-natives/expected.js @@ -0,0 +1,9 @@ +"use strict"; + +var _interopRequire = function (obj) { + return obj && (obj["default"] || obj); +}; + +var _core = _interopRequire(require("core-js/library")); + +obj.constructor === Object; diff --git a/test/fixtures/transformation/optional-core-aliasing/map-symbol/actual.js b/test/fixtures/transformation/optional-core-aliasing/map-symbol/actual.js new file mode 100644 index 0000000000..5ebaadcd41 --- /dev/null +++ b/test/fixtures/transformation/optional-core-aliasing/map-symbol/actual.js @@ -0,0 +1,2 @@ +Symbol("test"); +Symbol(); diff --git a/test/fixtures/transformation/optional-core-aliasing/map-symbol/expected.js b/test/fixtures/transformation/optional-core-aliasing/map-symbol/expected.js new file mode 100644 index 0000000000..d67311567b --- /dev/null +++ b/test/fixtures/transformation/optional-core-aliasing/map-symbol/expected.js @@ -0,0 +1,10 @@ +"use strict"; + +var _interopRequire = function (obj) { + return obj && (obj["default"] || obj); +}; + +var _core = _interopRequire(require("core-js/library")); + +_core.Symbol("test"); +_core.Symbol();