From bbff7403fbf46f9ad92240ac213df8d30ef31b64 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 20 Sep 2018 02:56:13 +0200 Subject: update packages --- .../webpack/lib/ContextReplacementPlugin.js | 244 +++++++++++---------- 1 file changed, 133 insertions(+), 111 deletions(-) (limited to 'node_modules/webpack/lib/ContextReplacementPlugin.js') diff --git a/node_modules/webpack/lib/ContextReplacementPlugin.js b/node_modules/webpack/lib/ContextReplacementPlugin.js index 29fede826..5523c8ab6 100644 --- a/node_modules/webpack/lib/ContextReplacementPlugin.js +++ b/node_modules/webpack/lib/ContextReplacementPlugin.js @@ -1,111 +1,133 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const path = require("path"); -const ContextElementDependency = require("./dependencies/ContextElementDependency"); - -class ContextReplacementPlugin { - constructor(resourceRegExp, newContentResource, newContentRecursive, newContentRegExp) { - this.resourceRegExp = resourceRegExp; - - if(typeof newContentResource === "function") { - this.newContentCallback = newContentResource; - } else if(typeof newContentResource === "string" && typeof newContentRecursive === "object") { - this.newContentResource = newContentResource; - this.newContentCreateContextMap = (fs, callback) => { - callback(null, newContentRecursive); - }; - } else if(typeof newContentResource === "string" && typeof newContentRecursive === "function") { - this.newContentResource = newContentResource; - this.newContentCreateContextMap = newContentRecursive; - } else { - if(typeof newContentResource !== "string") { - newContentRegExp = newContentRecursive; - newContentRecursive = newContentResource; - newContentResource = undefined; - } - if(typeof newContentRecursive !== "boolean") { - newContentRegExp = newContentRecursive; - newContentRecursive = undefined; - } - this.newContentResource = newContentResource; - this.newContentRecursive = newContentRecursive; - this.newContentRegExp = newContentRegExp; - } - } - - apply(compiler) { - const resourceRegExp = this.resourceRegExp; - const newContentCallback = this.newContentCallback; - const newContentResource = this.newContentResource; - const newContentRecursive = this.newContentRecursive; - const newContentRegExp = this.newContentRegExp; - const newContentCreateContextMap = this.newContentCreateContextMap; - - compiler.plugin("context-module-factory", (cmf) => { - cmf.plugin("before-resolve", (result, callback) => { - if(!result) return callback(); - if(resourceRegExp.test(result.request)) { - if(typeof newContentResource !== "undefined") - result.request = newContentResource; - if(typeof newContentRecursive !== "undefined") - result.recursive = newContentRecursive; - if(typeof newContentRegExp !== "undefined") - result.regExp = newContentRegExp; - if(typeof newContentCallback === "function") { - newContentCallback(result); - } else { - result.dependencies.forEach((d) => { - if(d.critical) - d.critical = false; - }); - } - } - return callback(null, result); - }); - cmf.plugin("after-resolve", (result, callback) => { - if(!result) return callback(); - if(resourceRegExp.test(result.resource)) { - if(typeof newContentResource !== "undefined") - result.resource = path.resolve(result.resource, newContentResource); - if(typeof newContentRecursive !== "undefined") - result.recursive = newContentRecursive; - if(typeof newContentRegExp !== "undefined") - result.regExp = newContentRegExp; - if(typeof newContentCreateContextMap === "function") - result.resolveDependencies = createResolveDependenciesFromContextMap(newContentCreateContextMap); - if(typeof newContentCallback === "function") { - const origResource = result.resource; - newContentCallback(result); - if(result.resource !== origResource) { - result.resource = path.resolve(origResource, result.resource); - } - } else { - result.dependencies.forEach((d) => { - if(d.critical) - d.critical = false; - }); - } - } - return callback(null, result); - }); - }); - } -} - -const createResolveDependenciesFromContextMap = (createContextMap) => { - return function resolveDependenciesFromContextMap(fs, resource, recursive, regExp, callback) { - createContextMap(fs, (err, map) => { - if(err) return callback(err); - const dependencies = Object.keys(map).map((key) => { - return new ContextElementDependency(map[key], key); - }); - callback(null, dependencies); - }); - }; -}; - -module.exports = ContextReplacementPlugin; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +"use strict"; + +const path = require("path"); +const ContextElementDependency = require("./dependencies/ContextElementDependency"); + +class ContextReplacementPlugin { + constructor( + resourceRegExp, + newContentResource, + newContentRecursive, + newContentRegExp + ) { + this.resourceRegExp = resourceRegExp; + + if (typeof newContentResource === "function") { + this.newContentCallback = newContentResource; + } else if ( + typeof newContentResource === "string" && + typeof newContentRecursive === "object" + ) { + this.newContentResource = newContentResource; + this.newContentCreateContextMap = (fs, callback) => { + callback(null, newContentRecursive); + }; + } else if ( + typeof newContentResource === "string" && + typeof newContentRecursive === "function" + ) { + this.newContentResource = newContentResource; + this.newContentCreateContextMap = newContentRecursive; + } else { + if (typeof newContentResource !== "string") { + newContentRegExp = newContentRecursive; + newContentRecursive = newContentResource; + newContentResource = undefined; + } + if (typeof newContentRecursive !== "boolean") { + newContentRegExp = newContentRecursive; + newContentRecursive = undefined; + } + this.newContentResource = newContentResource; + this.newContentRecursive = newContentRecursive; + this.newContentRegExp = newContentRegExp; + } + } + + apply(compiler) { + const resourceRegExp = this.resourceRegExp; + const newContentCallback = this.newContentCallback; + const newContentResource = this.newContentResource; + const newContentRecursive = this.newContentRecursive; + const newContentRegExp = this.newContentRegExp; + const newContentCreateContextMap = this.newContentCreateContextMap; + + compiler.hooks.contextModuleFactory.tap("ContextReplacementPlugin", cmf => { + cmf.hooks.beforeResolve.tap("ContextReplacementPlugin", result => { + if (!result) return; + if (resourceRegExp.test(result.request)) { + if (newContentResource !== undefined) { + result.request = newContentResource; + } + if (newContentRecursive !== undefined) { + result.recursive = newContentRecursive; + } + if (newContentRegExp !== undefined) { + result.regExp = newContentRegExp; + } + if (typeof newContentCallback === "function") { + newContentCallback(result); + } else { + for (const d of result.dependencies) { + if (d.critical) d.critical = false; + } + } + } + return result; + }); + cmf.hooks.afterResolve.tap("ContextReplacementPlugin", result => { + if (!result) return; + if (resourceRegExp.test(result.resource)) { + if (newContentResource !== undefined) { + result.resource = path.resolve(result.resource, newContentResource); + } + if (newContentRecursive !== undefined) { + result.recursive = newContentRecursive; + } + if (newContentRegExp !== undefined) { + result.regExp = newContentRegExp; + } + if (typeof newContentCreateContextMap === "function") { + result.resolveDependencies = createResolveDependenciesFromContextMap( + newContentCreateContextMap + ); + } + if (typeof newContentCallback === "function") { + const origResource = result.resource; + newContentCallback(result); + if (result.resource !== origResource) { + result.resource = path.resolve(origResource, result.resource); + } + } else { + for (const d of result.dependencies) { + if (d.critical) d.critical = false; + } + } + } + return result; + }); + }); + } +} + +const createResolveDependenciesFromContextMap = createContextMap => { + const resolveDependenciesFromContextMap = (fs, options, callback) => { + createContextMap(fs, (err, map) => { + if (err) return callback(err); + const dependencies = Object.keys(map).map(key => { + return new ContextElementDependency( + map[key] + options.resourceQuery, + key + ); + }); + callback(null, dependencies); + }); + }; + return resolveDependenciesFromContextMap; +}; + +module.exports = ContextReplacementPlugin; -- cgit v1.2.3