From 156a0874a98e5b4a0a8ce074a4ec28fd6b09a1d3 Mon Sep 17 00:00:00 2001 From: liximomo Date: Wed, 18 Dec 2019 22:23:56 +0800 Subject: [PATCH 1/2] fix: prevent incorrectly redirect --- lib/optimize/SideEffectsFlagPlugin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/optimize/SideEffectsFlagPlugin.js b/lib/optimize/SideEffectsFlagPlugin.js index 96a4cb4c1b5..6b8994e4b1b 100644 --- a/lib/optimize/SideEffectsFlagPlugin.js +++ b/lib/optimize/SideEffectsFlagPlugin.js @@ -115,7 +115,7 @@ class SideEffectsFlagPlugin { (dep instanceof HarmonyImportSpecifierDependency && !dep.namespaceObjectAsContext) ) { - const mapping = map.get(dep.id); + const mapping = map.get(dep._id); if (mapping) { dep.redirectedModule = mapping.module; dep.redirectedId = mapping.exportName; From 1452d1967341b6f297426a77a55ac04764735248 Mon Sep 17 00:00:00 2001 From: liximomo Date: Wed, 18 Dec 2019 23:02:11 +0800 Subject: [PATCH 2/2] test: add test case --- test/cases/side-effects/wrong-module-10146/index.js | 5 +++++ test/cases/side-effects/wrong-module-10146/module/A/A.js | 3 +++ .../cases/side-effects/wrong-module-10146/module/A/index.js | 6 ++++++ test/cases/side-effects/wrong-module-10146/module/index.js | 1 + .../side-effects/wrong-module-10146/module/package.json | 3 +++ 5 files changed, 18 insertions(+) create mode 100644 test/cases/side-effects/wrong-module-10146/index.js create mode 100644 test/cases/side-effects/wrong-module-10146/module/A/A.js create mode 100644 test/cases/side-effects/wrong-module-10146/module/A/index.js create mode 100644 test/cases/side-effects/wrong-module-10146/module/index.js create mode 100644 test/cases/side-effects/wrong-module-10146/module/package.json diff --git a/test/cases/side-effects/wrong-module-10146/index.js b/test/cases/side-effects/wrong-module-10146/index.js new file mode 100644 index 00000000000..f58afa48ba0 --- /dev/null +++ b/test/cases/side-effects/wrong-module-10146/index.js @@ -0,0 +1,5 @@ +import { A } from "./module"; + +it("should return the correct module", () => { + expect(A()).toEqual("A/index.js"); +}); diff --git a/test/cases/side-effects/wrong-module-10146/module/A/A.js b/test/cases/side-effects/wrong-module-10146/module/A/A.js new file mode 100644 index 00000000000..a718f1bce88 --- /dev/null +++ b/test/cases/side-effects/wrong-module-10146/module/A/A.js @@ -0,0 +1,3 @@ +export default function hello() { + return 'A/A.js' +} diff --git a/test/cases/side-effects/wrong-module-10146/module/A/index.js b/test/cases/side-effects/wrong-module-10146/module/A/index.js new file mode 100644 index 00000000000..e7f7eb5c8c8 --- /dev/null +++ b/test/cases/side-effects/wrong-module-10146/module/A/index.js @@ -0,0 +1,6 @@ + +export { default as A } from "./A"; + +export default function hello() { + return 'A/index.js' +} diff --git a/test/cases/side-effects/wrong-module-10146/module/index.js b/test/cases/side-effects/wrong-module-10146/module/index.js new file mode 100644 index 00000000000..37098dd430f --- /dev/null +++ b/test/cases/side-effects/wrong-module-10146/module/index.js @@ -0,0 +1 @@ +export { default as A } from "./A"; diff --git a/test/cases/side-effects/wrong-module-10146/module/package.json b/test/cases/side-effects/wrong-module-10146/module/package.json new file mode 100644 index 00000000000..a43829151e1 --- /dev/null +++ b/test/cases/side-effects/wrong-module-10146/module/package.json @@ -0,0 +1,3 @@ +{ + "sideEffects": false +}