fix concatenated version of reexport dependency for sideEffects

fixes #9159
This commit is contained in:
Tobias Koppers 2019-05-22 21:30:52 +02:00
parent 6ca9167e9e
commit fec26a9503
6 changed files with 17 additions and 3 deletions

View File

@ -521,7 +521,7 @@ class ConcatenatedModule extends Module {
dep instanceof HarmonyExportImportedSpecifierDependency
) {
const exportName = dep.name;
const importName = dep.id;
const importName = dep._id;
const importedModule = dep._module;
if (exportName && importName) {
if (!reexportMap.has(exportName)) {
@ -1390,12 +1390,12 @@ class HarmonyExportImportedSpecifierDependencyConcatenatedTemplate {
getExports(dep) {
const importModule = dep._module;
if (dep.id) {
if (dep._id) {
// export { named } from "module"
return [
{
name: dep.name,
id: dep.id,
id: dep._id,
module: importModule
}
];

View File

@ -0,0 +1,5 @@
it("should reexport from side-effect-free scope-hoisted module", () => {
const m = require("./reexport");
expect(m.value).toBe(42);
expect(m.ns.default).toBe(42);
});

View File

@ -0,0 +1,4 @@
export { default as value } from "./module";
import * as ns from "./module";
export { ns };

View File

@ -0,0 +1 @@
export default 42;

View File

@ -0,0 +1,3 @@
{
"sideEffects": false
}

View File

@ -0,0 +1 @@
export { value, ns } from "./package";