From 9df98e65f842cf3acae09cbdd969966f42d64469 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sat, 14 Oct 2017 18:40:54 +0200 Subject: update dependencies --- .../webpack/lib/optimize/ConcatenatedModule.js | 65 +++++++++++----------- 1 file changed, 33 insertions(+), 32 deletions(-) (limited to 'node_modules/webpack/lib/optimize/ConcatenatedModule.js') diff --git a/node_modules/webpack/lib/optimize/ConcatenatedModule.js b/node_modules/webpack/lib/optimize/ConcatenatedModule.js index 6cb503f0d..8b201009a 100644 --- a/node_modules/webpack/lib/optimize/ConcatenatedModule.js +++ b/node_modules/webpack/lib/optimize/ConcatenatedModule.js @@ -17,7 +17,6 @@ const HarmonyExportSpecifierDependency = require("../dependencies/HarmonyExportS const HarmonyExportExpressionDependency = require("../dependencies/HarmonyExportExpressionDependency"); const HarmonyExportImportedSpecifierDependency = require("../dependencies/HarmonyExportImportedSpecifierDependency"); const HarmonyCompatibilityDependency = require("../dependencies/HarmonyCompatibilityDependency"); -const HarmonyModulesHelpers = require("../dependencies/HarmonyModulesHelpers"); function ensureNsObjSource(info, moduleToInfoMap, requestShortener) { if(!info.hasNamespaceObject) { @@ -172,7 +171,7 @@ class ConcatenatedModule extends Module { this.built = modules.some(m => m.built); this.cacheable = modules.every(m => m.cacheable); const modulesSet = new Set(modules); - this.reasons = rootModule.reasons.filter(reason => !modulesSet.has(reason.module)); + this.reasons = rootModule.reasons.filter(reason => !(reason.dependency instanceof HarmonyImportDependency) || !modulesSet.has(reason.module)); this.meta = rootModule.meta; this.moduleArgument = rootModule.moduleArgument; this.exportsArgument = rootModule.exportsArgument; @@ -193,7 +192,7 @@ class ConcatenatedModule extends Module { const m = info.module; // populate dependencies - m.dependencies.filter(dep => !modulesSet.has(dep.module)) + m.dependencies.filter(dep => !(dep instanceof HarmonyImportDependency) || !modulesSet.has(dep.module)) .forEach(d => this.dependencies.push(d)); // populate dep warning m.dependenciesWarnings.forEach(depWarning => this.dependenciesWarnings.push(depWarning)); @@ -308,35 +307,42 @@ class ConcatenatedModule extends Module { const reexportMap = new Map(); info.module.dependencies.forEach(dep => { if(dep instanceof HarmonyExportSpecifierDependency) { - exportMap.set(dep.name, dep.id); + if(!exportMap.has(dep.name)) + exportMap.set(dep.name, dep.id); } else if(dep instanceof HarmonyExportExpressionDependency) { - exportMap.set("default", "__WEBPACK_MODULE_DEFAULT_EXPORT__"); + if(!exportMap.has("default")) + exportMap.set("default", "__WEBPACK_MODULE_DEFAULT_EXPORT__"); } else if(dep instanceof HarmonyExportImportedSpecifierDependency) { const exportName = dep.name; const importName = dep.id; const importedModule = dep.importDependency.module; if(exportName && importName) { - reexportMap.set(exportName, { - module: importedModule, - exportName: importName, - dependency: dep - }); + if(!reexportMap.has(exportName)) { + reexportMap.set(exportName, { + module: importedModule, + exportName: importName, + dependency: dep + }); + } } else if(exportName) { - reexportMap.set(exportName, { - module: importedModule, - exportName: true, - dependency: dep - }); - } else { - var activeExports = new Set(HarmonyModulesHelpers.getActiveExports(dep.originModule, dep)); - importedModule.providedExports.forEach(name => { - if(activeExports.has(name) || name === "default") - return; - reexportMap.set(name, { + if(!reexportMap.has(exportName)) { + reexportMap.set(exportName, { module: importedModule, - exportName: name, + exportName: true, dependency: dep }); + } + } else if(importedModule) { + importedModule.providedExports.forEach(name => { + if(dep.activeExports.has(name) || name === "default") + return; + if(!reexportMap.has(name)) { + reexportMap.set(name, { + module: importedModule, + exportName: name, + dependency: dep + }); + } }); } } @@ -352,7 +358,6 @@ class ConcatenatedModule extends Module { internalNames: new Map(), exportMap: exportMap, reexportMap: reexportMap, - needCompatibilityFlag: false, hasNamespaceObject: false, namespaceObjectSource: null }; @@ -451,7 +456,7 @@ class ConcatenatedModule extends Module { const allUsedNames = new Set([ "__WEBPACK_MODULE_DEFAULT_EXPORT__", // avoid using this internal name - "abstract", "arguments", "await", "boolean", "break", "byte", "case", "catch", "char", "class", + "abstract", "arguments", "async", "await", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", "debugger", "default", "delete", "do", "double", "else", "enum", "eval", "export", "extends", "false", "final", "finally", "float", "for", "function", "goto", "if", "implements", "import", "in", "instanceof", "int", "interface", "let", "long", "native", "new", @@ -576,7 +581,8 @@ class ConcatenatedModule extends Module { const result = new ConcatSource(); // add harmony compatibility flag (must be first because of possible circular dependencies) - if(moduleToInfoMap.get(this.rootModule).needCompatibilityFlag) { + const usedExports = this.rootModule.usedExports; + if(usedExports === true) { result.add(`Object.defineProperty(${this.exportsArgument || "exports"}, "__esModule", { value: true });\n`); } @@ -741,8 +747,6 @@ class HarmonyExportImportedSpecifierDependencyConcatenatedTemplate { } getExports(dep) { - const active = HarmonyModulesHelpers.isActive(dep.originModule, dep); - if(!active) return []; const importModule = dep.importDependency.module; if(dep.id) { // export { named } from "module" @@ -761,8 +765,7 @@ class HarmonyExportImportedSpecifierDependencyConcatenatedTemplate { }]; } // export * from "module" - const activeExports = new Set(HarmonyModulesHelpers.getActiveExports(dep.originModule, dep)); - return importModule.providedExports.filter(exp => exp !== "default" && !activeExports.has(exp)).map(exp => { + return importModule.providedExports.filter(exp => exp !== "default" && !dep.activeExports.has(exp)).map(exp => { return { name: exp, id: exp, @@ -807,9 +810,7 @@ class HarmonyCompatibilityDependencyConcatenatedTemplate { } apply(dep, source, outputOptions, requestShortener, dependencyTemplates) { - if(dep.originModule === this.rootModule) { - this.modulesMap.get(this.rootModule).needCompatibilityFlag = true; - } + // do nothing } } -- cgit v1.2.3