aboutsummaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/optimize/ConcatenatedModule.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-10-14 18:40:54 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-10-14 18:40:54 +0200
commit9df98e65f842cf3acae09cbdd969966f42d64469 (patch)
treef071d3e09a342c208fb8e1cd3f5241d64fbfbaf3 /node_modules/webpack/lib/optimize/ConcatenatedModule.js
parent008926b18470e7f394cd640302957b29728a9803 (diff)
update dependencies
Diffstat (limited to 'node_modules/webpack/lib/optimize/ConcatenatedModule.js')
-rw-r--r--node_modules/webpack/lib/optimize/ConcatenatedModule.js65
1 files changed, 33 insertions, 32 deletions
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
}
}