From 9df98e65f842cf3acae09cbdd969966f42d64469 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sat, 14 Oct 2017 18:40:54 +0200 Subject: update dependencies --- .../AMDDefineDependencyParserPlugin.js | 6 +- .../lib/dependencies/AMDRequireArrayDependency.js | 2 + .../dependencies/AMDRequireContextDependency.js | 9 -- .../CommonJsRequireContextDependency.js | 10 -- .../webpack/lib/dependencies/ContextDependency.js | 20 ++++ .../HarmonyExportDependencyParserPlugin.js | 16 ++- .../HarmonyExportExpressionDependency.js | 7 -- .../HarmonyExportImportedSpecifierDependency.js | 111 ++++++++++----------- .../HarmonyExportSpecifierDependency.js | 13 --- .../HarmonyImportDependencyParserPlugin.js | 3 + .../lib/dependencies/HarmonyModulesHelpers.js | 53 ---------- .../lib/dependencies/ImportContextDependency.js | 10 -- .../RequireResolveContextDependency.js | 10 -- 13 files changed, 99 insertions(+), 171 deletions(-) (limited to 'node_modules/webpack/lib/dependencies') diff --git a/node_modules/webpack/lib/dependencies/AMDDefineDependencyParserPlugin.js b/node_modules/webpack/lib/dependencies/AMDDefineDependencyParserPlugin.js index 8590162c6..b8a4668df 100644 --- a/node_modules/webpack/lib/dependencies/AMDDefineDependencyParserPlugin.js +++ b/node_modules/webpack/lib/dependencies/AMDDefineDependencyParserPlugin.js @@ -28,6 +28,10 @@ class AMDDefineDependencyParserPlugin { this.options = options; } + newDefineDependency(range, arrayRange, functionRange, objectRange, namedModule) { + return new AMDDefineDependency(range, arrayRange, functionRange, objectRange, namedModule); + } + apply(parser) { const options = this.options; parser.plugin("call define", (expr) => { @@ -156,7 +160,7 @@ class AMDDefineDependencyParserPlugin { parser.walkExpression(fn || obj); } - const dep = new AMDDefineDependency( + const dep = this.newDefineDependency( expr.range, array ? array.range : null, fn ? fn.range : null, diff --git a/node_modules/webpack/lib/dependencies/AMDRequireArrayDependency.js b/node_modules/webpack/lib/dependencies/AMDRequireArrayDependency.js index 666a887e3..ad77b0705 100644 --- a/node_modules/webpack/lib/dependencies/AMDRequireArrayDependency.js +++ b/node_modules/webpack/lib/dependencies/AMDRequireArrayDependency.js @@ -47,6 +47,8 @@ AMDRequireArrayDependency.Template = class AMDRequireArrayDependencyTemplate { if(dep.module) { const stringifiedId = JSON.stringify(dep.module.id); return `__webpack_require__(${comment}${stringifiedId})`; + } else if(dep.localModule) { + return dep.localModule.variableName(); } return webpackMissingModuleModule(dep.request); diff --git a/node_modules/webpack/lib/dependencies/AMDRequireContextDependency.js b/node_modules/webpack/lib/dependencies/AMDRequireContextDependency.js index 9248927e1..5305288cf 100644 --- a/node_modules/webpack/lib/dependencies/AMDRequireContextDependency.js +++ b/node_modules/webpack/lib/dependencies/AMDRequireContextDependency.js @@ -5,7 +5,6 @@ "use strict"; const ContextDependency = require("./ContextDependency"); -const CriticalDependencyWarning = require("./CriticalDependencyWarning"); class AMDRequireContextDependency extends ContextDependency { constructor(request, recursive, regExp, range, valueRange) { super(request, recursive, regExp); @@ -16,14 +15,6 @@ class AMDRequireContextDependency extends ContextDependency { get type() { return "amd require context"; } - - getWarnings() { - if(this.critical) { - return [ - new CriticalDependencyWarning(this.critical) - ]; - } - } } AMDRequireContextDependency.Template = require("./ContextDependencyTemplateAsRequireCall"); module.exports = AMDRequireContextDependency; diff --git a/node_modules/webpack/lib/dependencies/CommonJsRequireContextDependency.js b/node_modules/webpack/lib/dependencies/CommonJsRequireContextDependency.js index 74822aebd..6e8e33f08 100644 --- a/node_modules/webpack/lib/dependencies/CommonJsRequireContextDependency.js +++ b/node_modules/webpack/lib/dependencies/CommonJsRequireContextDependency.js @@ -4,7 +4,6 @@ */ "use strict"; const ContextDependency = require("./ContextDependency"); -const CriticalDependencyWarning = require("./CriticalDependencyWarning"); const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall"); class CommonJsRequireContextDependency extends ContextDependency { @@ -18,15 +17,6 @@ class CommonJsRequireContextDependency extends ContextDependency { return "cjs require context"; } - getWarnings() { - if(!this.critical) { - return; - } - - return [ - new CriticalDependencyWarning(this.critical) - ]; - } } CommonJsRequireContextDependency.Template = ContextDependencyTemplateAsRequireCall; diff --git a/node_modules/webpack/lib/dependencies/ContextDependency.js b/node_modules/webpack/lib/dependencies/ContextDependency.js index 7f8772a55..55bc9823c 100644 --- a/node_modules/webpack/lib/dependencies/ContextDependency.js +++ b/node_modules/webpack/lib/dependencies/ContextDependency.js @@ -4,6 +4,7 @@ */ "use strict"; const Dependency = require("../Dependency"); +const CriticalDependencyWarning = require("./CriticalDependencyWarning"); class ContextDependency extends Dependency { constructor(request, recursive, regExp) { @@ -13,6 +14,13 @@ class ContextDependency extends Dependency { this.recursive = recursive; this.regExp = regExp; this.async = false; + + this.hadGlobalOrStickyRegExp = false; + if(this.regExp.global || this.regExp.sticky) { + this.regExp = null; + this.hadGlobalOrStickyRegExp = true; + } + } isEqualResource(other) { @@ -24,6 +32,18 @@ class ContextDependency extends Dependency { this.regExp === other.regExp && this.async === other.async; } + + getWarnings() { + let warnings = super.getWarnings() || []; + if(this.critical) { + warnings.push(new CriticalDependencyWarning(this.critical)); + } + if(this.hadGlobalOrStickyRegExp) { + warnings.push(new CriticalDependencyWarning("Contexts can't use RegExps with the 'g' or 'y' flags.")); + } + return warnings; + } + } module.exports = ContextDependency; diff --git a/node_modules/webpack/lib/dependencies/HarmonyExportDependencyParserPlugin.js b/node_modules/webpack/lib/dependencies/HarmonyExportDependencyParserPlugin.js index d6f37fce1..f7072ebac 100644 --- a/node_modules/webpack/lib/dependencies/HarmonyExportDependencyParserPlugin.js +++ b/node_modules/webpack/lib/dependencies/HarmonyExportDependencyParserPlugin.js @@ -39,9 +39,11 @@ module.exports = class HarmonyExportDependencyParserPlugin { parser.plugin("export specifier", (statement, id, name, idx) => { const rename = parser.scope.renames[`$${id}`]; let dep; + const harmonyNamedExports = parser.state.harmonyNamedExports = parser.state.harmonyNamedExports || new Set(); + harmonyNamedExports.add(name); if(rename === "imported var") { const settings = parser.state.harmonySpecifier[`$${id}`]; - dep = new HarmonyExportImportedSpecifierDependency(parser.state.module, settings[0], settings[1], settings[2], name); + dep = new HarmonyExportImportedSpecifierDependency(parser.state.module, settings[0], settings[1], settings[2], name, harmonyNamedExports, null); } else { const immutable = statement.declaration && isImmutableStatement(statement.declaration); const hoisted = statement.declaration && isHoistedStatement(statement.declaration); @@ -53,7 +55,17 @@ module.exports = class HarmonyExportDependencyParserPlugin { return true; }); parser.plugin("export import specifier", (statement, source, id, name, idx) => { - const dep = new HarmonyExportImportedSpecifierDependency(parser.state.module, parser.state.lastHarmonyImport, HarmonyModulesHelpers.getModuleVar(parser.state, source), id, name); + const harmonyNamedExports = parser.state.harmonyNamedExports = parser.state.harmonyNamedExports || new Set(); + let harmonyStarExports = null; + if(name) { + harmonyNamedExports.add(name); + } else { + harmonyStarExports = parser.state.harmonyStarExports = parser.state.harmonyStarExports || []; + } + const dep = new HarmonyExportImportedSpecifierDependency(parser.state.module, parser.state.lastHarmonyImport, HarmonyModulesHelpers.getModuleVar(parser.state, source), id, name, harmonyNamedExports, harmonyStarExports && harmonyStarExports.slice()); + if(harmonyStarExports) { + harmonyStarExports.push(dep); + } dep.loc = Object.create(statement.loc); dep.loc.index = idx; parser.state.current.addDependency(dep); diff --git a/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js b/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js index 17881438f..c2d90847b 100644 --- a/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js +++ b/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js @@ -22,13 +22,6 @@ class HarmonyExportExpressionDependency extends NullDependency { exports: ["default"] }; } - - describeHarmonyExport() { - return { - exportedName: "default", - precedence: 1, - }; - } } HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTemplate { diff --git a/node_modules/webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency.js b/node_modules/webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency.js index 114bd455a..cb1b892d2 100644 --- a/node_modules/webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +++ b/node_modules/webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency.js @@ -4,16 +4,17 @@ */ "use strict"; const NullDependency = require("./NullDependency"); -const HarmonyModulesHelpers = require("./HarmonyModulesHelpers"); class HarmonyExportImportedSpecifierDependency extends NullDependency { - constructor(originModule, importDependency, importedVar, id, name) { + constructor(originModule, importDependency, importedVar, id, name, activeExports, otherStarExports) { super(); this.originModule = originModule; this.importDependency = importDependency; this.importedVar = importedVar; this.id = id; this.name = name; + this.activeExports = activeExports; + this.otherStarExports = otherStarExports; } get type() { @@ -23,14 +24,14 @@ class HarmonyExportImportedSpecifierDependency extends NullDependency { getReference() { const name = this.name; const used = this.originModule.isUsed(name); - const active = HarmonyModulesHelpers.isActive(this.originModule, this); const importedModule = this.importDependency.module; - if(!importedModule || !used || !active) return null; - if(!this.originModule.usedExports) return null; + if(!importedModule || !used || !this.originModule.usedExports) return null; + + const hasUsedExports = Array.isArray(this.originModule.usedExports); if(name) { - const nameIsNotInUsedExports = Array.isArray(this.originModule.usedExports) && this.originModule.usedExports.indexOf(name) < 0; + const nameIsNotInUsedExports = hasUsedExports && this.originModule.usedExports.indexOf(name) < 0; if(nameIsNotInUsedExports) return null; // export { name as name } @@ -48,36 +49,37 @@ class HarmonyExportImportedSpecifierDependency extends NullDependency { }; } + const hasProvidedExports = Array.isArray(importedModule.providedExports); + const activeFromOtherStarExports = this._discoverActiveExportsFromOtherStartExports(); + // export * - if(Array.isArray(this.originModule.usedExports)) { + if(hasUsedExports) { // reexport * with known used exports - var activeExports = HarmonyModulesHelpers.getActiveExports(this.originModule, this); - if(Array.isArray(importedModule.providedExports)) { - return { - module: importedModule, - importedNames: this.originModule.usedExports.filter((id) => { - const notInActiveExports = activeExports.indexOf(id) < 0; - const notDefault = id !== "default"; - const inProvidedExports = importedModule.providedExports.indexOf(id) >= 0; - return notInActiveExports && notDefault && inProvidedExports; - }), - }; - } + const importedNames = this.originModule.usedExports.filter(id => { + if(id === "default") return false; + if(this.activeExports.has(id)) return false; + if(activeFromOtherStarExports.has(id)) return false; + if(hasProvidedExports && importedModule.providedExports.indexOf(id) < 0) return false; + + return true; + }); return { module: importedModule, - importedNames: this.originModule.usedExports.filter(id => { - const notInActiveExports = activeExports.indexOf(id) < 0; - const notDefault = id !== "default"; - return notInActiveExports && notDefault; - }), + importedNames }; } - if(Array.isArray(importedModule.providedExports)) { + if(hasProvidedExports) { return { module: importedModule, - importedNames: importedModule.providedExports.filter(id => id !== "default"), + importedNames: importedModule.providedExports.filter(id => { + if(id === "default") return false; + if(this.activeExports.has(id)) return false; + if(activeFromOtherStarExports.has(id)) return false; + + return true; + }) }; } @@ -87,6 +89,21 @@ class HarmonyExportImportedSpecifierDependency extends NullDependency { }; } + _discoverActiveExportsFromOtherStartExports() { + if(!this.otherStarExports) + return new Set(); + const result = new Set(); + // try to learn impossible exports from other star exports with provided exports + for(const otherStarExport of this.otherStarExports) { + const otherImportedModule = otherStarExport.importDependency.module; + if(otherImportedModule && Array.isArray(otherImportedModule.providedExports)) { + for(const exportName of otherImportedModule.providedExports) + result.add(exportName); + } + } + return result; + } + getExports() { if(this.name) { return { @@ -122,22 +139,6 @@ class HarmonyExportImportedSpecifierDependency extends NullDependency { }; } - describeHarmonyExport() { - const importedModule = this.importDependency.module; - if(!this.name && importedModule && Array.isArray(importedModule.providedExports)) { - // for a star export and when we know which exports are provided, we can tell so - return { - exportedName: importedModule.providedExports, - precedence: 3 - }; - } - - return { - exportedName: this.name, - precedence: this.name ? 2 : 3 - }; - } - updateHash(hash) { super.updateHash(hash); const hashValue = this.getHashValue(this.importDependency.module); @@ -167,7 +168,6 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS const name = dep.importedVar; const used = dep.originModule.isUsed(dep.name); const importedModule = dep.importDependency.module; - const active = HarmonyModulesHelpers.isActive(dep.originModule, dep); const importsExportsUnknown = !importedModule || !Array.isArray(importedModule.providedExports); const getReexportStatement = this.reexportStatementCreator(dep.originModule, importsExportsUnknown, name); @@ -177,11 +177,6 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS return "/* unused harmony reexport " + dep.name + " */\n"; } - // we want to reexport something but another exports overrides this one - if(!active) { - return "/* inactive harmony reexport " + (dep.name || "namespace") + " */\n"; - } - // we want to reexport the default export from a non-hamory module const isNotAHarmonyModule = !(importedModule && (!importedModule.meta || importedModule.meta.harmonyModule)); if(dep.name && dep.id === "default" && isNotAHarmonyModule) { @@ -199,13 +194,17 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS return "/* harmony reexport (module object) */ " + getReexportStatement(JSON.stringify(used), ""); } + const hasProvidedExports = importedModule && Array.isArray(importedModule.providedExports); + + const activeFromOtherStarExports = dep._discoverActiveExportsFromOtherStartExports(); + // we know which exports are used if(Array.isArray(dep.originModule.usedExports)) { - const activeExports = HarmonyModulesHelpers.getActiveExports(dep.originModule, dep); - const items = dep.originModule.usedExports.map(function(id) { + const items = dep.originModule.usedExports.map(id => { if(id === "default") return; - if(activeExports.indexOf(id) >= 0) return; + if(dep.activeExports.has(id)) return; if(importedModule.isProvided(id) === false) return; + if(activeFromOtherStarExports.has(id)) return; var exportUsed = dep.originModule.isUsed(id); var idUsed = importedModule && importedModule.isUsed(id); return [exportUsed, idUsed]; @@ -221,11 +220,11 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS } // not sure which exports are used, but we know which are provided - if(dep.originModule.usedExports && importedModule && Array.isArray(importedModule.providedExports)) { - const activeExports = HarmonyModulesHelpers.getActiveExports(dep.originModule, dep); - const items = importedModule.providedExports.map(function(id) { + if(dep.originModule.usedExports && importedModule && hasProvidedExports) { + const items = importedModule.providedExports.map(id => { if(id === "default") return; - if(activeExports.indexOf(id) >= 0) return; + if(dep.activeExports.has(id)) return; + if(activeFromOtherStarExports.has(id)) return; var exportUsed = dep.originModule.isUsed(id); var idUsed = importedModule && importedModule.isUsed(id); return [exportUsed, idUsed]; @@ -242,7 +241,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS // not sure which exports are used and provided if(dep.originModule.usedExports) { - const activeExports = HarmonyModulesHelpers.getActiveExports(dep.originModule, dep); + const activeExports = Array.from(dep.activeExports).concat(Array.from(activeFromOtherStarExports)); let content = "/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in " + name + ") "; // Filter out exports which are defined by other exports diff --git a/node_modules/webpack/lib/dependencies/HarmonyExportSpecifierDependency.js b/node_modules/webpack/lib/dependencies/HarmonyExportSpecifierDependency.js index 024ceeb00..33c253f4b 100644 --- a/node_modules/webpack/lib/dependencies/HarmonyExportSpecifierDependency.js +++ b/node_modules/webpack/lib/dependencies/HarmonyExportSpecifierDependency.js @@ -4,7 +4,6 @@ */ "use strict"; const NullDependency = require("./NullDependency"); -const HarmonyModulesHelpers = require("./HarmonyModulesHelpers"); class HarmonyExportSpecifierDependency extends NullDependency { constructor(originModule, id, name, position, immutable) { @@ -25,13 +24,6 @@ class HarmonyExportSpecifierDependency extends NullDependency { exports: [this.name] }; } - - describeHarmonyExport() { - return { - exportedName: this.name, - precedence: 1 - }; - } } HarmonyExportSpecifierDependency.Template = class HarmonyExportSpecifierDependencyTemplate { @@ -46,15 +38,10 @@ HarmonyExportSpecifierDependency.Template = class HarmonyExportSpecifierDependen getContent(dep) { const used = dep.originModule.isUsed(dep.name); - const active = HarmonyModulesHelpers.isActive(dep.originModule, dep); if(!used) { return `/* unused harmony export ${(dep.name || "namespace")} */\n`; } - if(!active) { - return `/* inactive harmony export ${(dep.name || "namespace")} */\n`; - } - const exportsName = dep.originModule.exportsArgument || "exports"; if(dep.immutable) { return `/* harmony export (immutable) */ ${exportsName}[${JSON.stringify(used)}] = ${dep.id};\n`; diff --git a/node_modules/webpack/lib/dependencies/HarmonyImportDependencyParserPlugin.js b/node_modules/webpack/lib/dependencies/HarmonyImportDependencyParserPlugin.js index d756688d2..3b867f616 100644 --- a/node_modules/webpack/lib/dependencies/HarmonyImportDependencyParserPlugin.js +++ b/node_modules/webpack/lib/dependencies/HarmonyImportDependencyParserPlugin.js @@ -56,6 +56,8 @@ module.exports = class HarmonyImportDependencyParserPlugin { if(this.strictThisContextOnImports) { // only in case when we strictly follow the spec we need a special case here parser.plugin("call imported var.*", (expr) => { + if(expr.callee.type !== "MemberExpression") return; + if(expr.callee.object.type !== "Identifier") return; const name = expr.callee.object.name; const settings = parser.state.harmonySpecifier[`$${name}`]; if(settings[2] !== null) @@ -75,6 +77,7 @@ module.exports = class HarmonyImportDependencyParserPlugin { const args = expr.arguments; const fullExpr = expr; expr = expr.callee; + if(expr.type !== "Identifier") return; const name = expr.name; const settings = parser.state.harmonySpecifier[`$${name}`]; const dep = new HarmonyImportSpecifierDependency(settings[0], settings[1], settings[2], name, expr.range, this.strictExportPresence); diff --git a/node_modules/webpack/lib/dependencies/HarmonyModulesHelpers.js b/node_modules/webpack/lib/dependencies/HarmonyModulesHelpers.js index 1f3387fe1..10ee7e27e 100644 --- a/node_modules/webpack/lib/dependencies/HarmonyModulesHelpers.js +++ b/node_modules/webpack/lib/dependencies/HarmonyModulesHelpers.js @@ -27,59 +27,6 @@ class HarmonyModulesHelpers { return null; return this.getModuleVar(state, request); } - - // checks if an harmony dependency is active in a module according to - // precedence rules. - static isActive(module, depInQuestion) { - const desc = depInQuestion.describeHarmonyExport(); - if(!desc.exportedName) return true; - let before = true; - for(const moduleDependency of module.dependencies) { - const dep = moduleDependency; - if(dep === depInQuestion) { - before = false; - continue; - } - if(!dep.describeHarmonyExport) continue; - const d = dep.describeHarmonyExport(); - if(!d || !d.exportedName) continue; - if(d.exportedName === desc.exportedName) { - if(d.precedence < desc.precedence) { - return false; - } - if(d.precedence === desc.precedence && !before) { - return false; - } - } - } - return true; - } - - // get a list of named exports defined in a module - // doesn't include * reexports. - static getActiveExports(module, currentDependency) { - const desc = currentDependency && currentDependency.describeHarmonyExport(); - var currentIndex = currentDependency ? module.dependencies.indexOf(currentDependency) : -1; - return module.dependencies.map((dep, idx) => { - return { - dep: dep, - idx: idx - }; - }).reduce((arr, data) => { - const dep = data.dep; - if(!dep.describeHarmonyExport) return arr; - const d = dep.describeHarmonyExport(); - if(!d) return arr; - if(!desc || (d.precedence < desc.precedence) || (d.precedence === desc.precedence && data.idx < currentIndex)) { - var names = [].concat(d.exportedName); - names.forEach(function(name) { - if(name && arr.indexOf(name) < 0) - arr.push(name); - }); - } - return arr; - }, []); - } } module.exports = HarmonyModulesHelpers; diff --git a/node_modules/webpack/lib/dependencies/ImportContextDependency.js b/node_modules/webpack/lib/dependencies/ImportContextDependency.js index 252bc75a0..d7f378c5c 100644 --- a/node_modules/webpack/lib/dependencies/ImportContextDependency.js +++ b/node_modules/webpack/lib/dependencies/ImportContextDependency.js @@ -4,7 +4,6 @@ */ "use strict"; const ContextDependency = require("./ContextDependency"); -const CriticalDependencyWarning = require("./CriticalDependencyWarning"); const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall"); class ImportContextDependency extends ContextDependency { @@ -19,15 +18,6 @@ class ImportContextDependency extends ContextDependency { return "import() context"; } - getWarnings() { - if(!this.critical) { - return; - } - - return [ - new CriticalDependencyWarning(this.critical) - ]; - } } ImportContextDependency.Template = ContextDependencyTemplateAsRequireCall; diff --git a/node_modules/webpack/lib/dependencies/RequireResolveContextDependency.js b/node_modules/webpack/lib/dependencies/RequireResolveContextDependency.js index 161319e82..f53e94768 100644 --- a/node_modules/webpack/lib/dependencies/RequireResolveContextDependency.js +++ b/node_modules/webpack/lib/dependencies/RequireResolveContextDependency.js @@ -4,7 +4,6 @@ */ "use strict"; const ContextDependency = require("./ContextDependency"); -const CriticalDependencyWarning = require("./CriticalDependencyWarning"); const ContextDependencyTemplateAsId = require("./ContextDependencyTemplateAsId"); class RequireResolveContextDependency extends ContextDependency { @@ -18,15 +17,6 @@ class RequireResolveContextDependency extends ContextDependency { return "amd require context"; } - getWarnings() { - if(!this.critical) { - return; - } - - return [ - new CriticalDependencyWarning(this.critical) - ]; - } } RequireResolveContextDependency.Template = ContextDependencyTemplateAsId; -- cgit v1.2.3