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:
Henry Zhu
2016-07-23 13:21:07 -04:00
committed by GitHub
parent d6646fb54f
commit 253918c30f
9 changed files with 47 additions and 10 deletions

View File

@@ -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];
}
`);