diff --git a/lib/6to5/transformation/modules/amd.js b/lib/6to5/transformation/modules/amd.js index 9a26d52b8f..60a18b4166 100644 --- a/lib/6to5/transformation/modules/amd.js +++ b/lib/6to5/transformation/modules/amd.js @@ -78,7 +78,7 @@ AMDFormatter.prototype.importSpecifier = function (specifier, node, nodes) { if (t.isImportBatchSpecifier(specifier)) { // import * as bar from "foo"; - } else if (specifier.default) { + } else if (t.isSpecifierDefault(specifier)) { // import foo from "foo"; ref = t.callExpression(this.file.addDeclaration("interop-require"), [ref]); } else { diff --git a/lib/6to5/types/index.js b/lib/6to5/types/index.js index 323e985ac8..65fb12bedc 100644 --- a/lib/6to5/types/index.js +++ b/lib/6to5/types/index.js @@ -307,3 +307,7 @@ t.inherits = function (child, parent) { t.getSpecifierName = function (specifier) { return specifier.name || specifier.id; }; + +t.isSpecifierDefault = function (specifier) { + return t.isIdentifier(specifier.id) && specifier.id.name === "default"; +}; diff --git a/test/fixtures/transformation/es6-modules-amd/imports-default/expected.js b/test/fixtures/transformation/es6-modules-amd/imports-default/expected.js index 43e1ab9d53..b19c21fa34 100644 --- a/test/fixtures/transformation/es6-modules-amd/imports-default/expected.js +++ b/test/fixtures/transformation/es6-modules-amd/imports-default/expected.js @@ -7,5 +7,5 @@ define(["exports", "foo"], function (exports, _foo) { var foo = _interopRequire(_foo); - var foo = _foo["default"]; + var foo = _interopRequire(_foo); }); diff --git a/test/fixtures/transformation/es6-modules-umd/imports-default/expected.js b/test/fixtures/transformation/es6-modules-umd/imports-default/expected.js index b68de76392..83402d6e59 100644 --- a/test/fixtures/transformation/es6-modules-umd/imports-default/expected.js +++ b/test/fixtures/transformation/es6-modules-umd/imports-default/expected.js @@ -13,5 +13,5 @@ var foo = _interopRequire(_foo); - var foo = _foo["default"]; + var foo = _interopRequire(_foo); });