Fix buildExportAll to account for commonjs/amd/systemjs (#3591)
* Fix buildExportAll to account for commonjs/amd If the re-exported module was generated with Babel and it is a commonjs or amd module and so is the current module, this will result in an attempt to redefine the __esModule property, which throws a runtime error. * Add test: don't overwrite __esModule on re-export (Failing.) * fixup tests * Add fix for systemjs
This commit is contained in:
@@ -18,7 +18,7 @@ let buildTemplate = template(`
|
||||
|
||||
let buildExportAll = template(`
|
||||
for (var KEY in TARGET) {
|
||||
if (KEY !== "default") EXPORT_OBJ[KEY] = TARGET[KEY];
|
||||
if (KEY !== "default" && key !== "__esModule") EXPORT_OBJ[KEY] = TARGET[KEY];
|
||||
}
|
||||
`);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ System.register(["foo"], function (_export, _context) {
|
||||
var _exportObj = {};
|
||||
|
||||
for (var _key in _foo) {
|
||||
if (_key !== "default") _exportObj[_key] = _foo[_key];
|
||||
if (_key !== "default" && key !== "__esModule") _exportObj[_key] = _foo[_key];
|
||||
}
|
||||
|
||||
_exportObj.foo = _foo.foo;
|
||||
@@ -21,4 +21,4 @@ System.register(["foo"], function (_export, _context) {
|
||||
}],
|
||||
execute: function () {}
|
||||
};
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user